JP5036448B2 - インサーキットエミュレータにおけるfifoメモリ読出方法およびfifoメモリ内蔵ワンチップ・マイクロコンピュータ用インサーキットエミュレータ - Google Patents

インサーキットエミュレータにおけるfifoメモリ読出方法およびfifoメモリ内蔵ワンチップ・マイクロコンピュータ用インサーキットエミュレータ Download PDF

Info

Publication number
JP5036448B2
JP5036448B2 JP2007210675A JP2007210675A JP5036448B2 JP 5036448 B2 JP5036448 B2 JP 5036448B2 JP 2007210675 A JP2007210675 A JP 2007210675A JP 2007210675 A JP2007210675 A JP 2007210675A JP 5036448 B2 JP5036448 B2 JP 5036448B2
Authority
JP
Japan
Prior art keywords
read
fifo memory
reading
signal
fifo
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.)
Active
Application number
JP2007210675A
Other languages
English (en)
Other versions
JP2009043209A (ja
Inventor
幸治 佐々木
裕司 高橋
Original Assignee
株式会社ピーエーネット技術研究所
株式会社ナック企画
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 株式会社ピーエーネット技術研究所, 株式会社ナック企画 filed Critical 株式会社ピーエーネット技術研究所
Priority to JP2007210675A priority Critical patent/JP5036448B2/ja
Publication of JP2009043209A publication Critical patent/JP2009043209A/ja
Application granted granted Critical
Publication of JP5036448B2 publication Critical patent/JP5036448B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、FIFOメモリを内蔵したワンチップ・マイクロコンピュータの機能をエミュレートするインサーキットエミュレータにおけるFIFOメモリの読出方法およびFIFOメモリを内蔵したワンチップ・マイクロコンピュータの機能をエミュレートするインサーキットエミュレータに関する。
マイクロプロセッサを複数用いた分散処理システムにおいて、処理部間の通信を行う場合、通信データの欠落を防ぐため通信処理にプロセッサの処理能力を十分に割り当てる必要があった。すなわち、受信したデータは次のデータが来る前に取り出してメモリ上のバッファに格納し、送信するデータは途切れないように次々とメモリ上のバッファから読み出して送信しなければ通信データが欠落してしまうため、プロセッサとしては優先度の高い処理が必要であった。
そこで、通信回路とプロセッサの間をハードウェアで構成したFIFOメモリ(先入れ先出し型のメモリであり、例えば、アドレスで指定される情報格納領域を複数備えるFIFORAMと、読出アドレスおよび書込アドレスを制御するアドレス制御回路から構成)を介して接続する技術が提案されている(例えば、特許文献1および特許文献2を参照)。これら特許文献1,2に記載されているように、FIFOメモリは、RAM、リードポインタ、ライトポインタなどで構成され、外部からデータが書き込まれるときは、ライトポインタの示すRAMにデータが格納され、ライトポインタは次に書き込まれるべきデータのために更新され、同様に、外部からデータが読み出されるときは、リードポインタの示すRAMからデータが読み出され、リードポインタは次に読み出されるべきデータのために更新されるので、FIFOメモリが送信バッファあるいは受信バッファとして機能することから、データの送受信を高い優先度で処理する必要が無くなり、プロセッサ能力を有効活用することができる。
特開平2−170258号公報 特開平8−95751号公報
しかしながら、上記特許文献1および特許文献2に記載の発明においては、FIFOメモリを内蔵するワンチップ・マイクロコンピュータ(以下、ワンチップCPUという)を構成した場合、そのワンチップCPUを使用した処理部のプログラムを開発する際に、インサーキットエミュレータ(以下、ICEという)を使用すると、デバッグ等でのFIFOメモリ読出によってFIFOメモリのリードポインタが更新されてしまうという不都合が生じる。
ここで、ICEとはCPUをエミュレートする装置であり、ワンチップCPUと同じプログラムを実行することができるだけでなく、プログラムの実行を任意に休止させたり、休止させる箇所を指定したりすることができる、ワンチップCPUのプログラムを開発する際に必要な装置である。また、ICEは、プログラムの実行を休止した状態で、PC(パーソナルコンピュータ)を介して開発者からの指示によりメモリなどワンチップCPUに集積した機能からデータを読み出して、PCに表示させることができる。
このように、旧来のICEにおけるデバッガ機能は、FIFOメモリを想定していないので、デバッグ中に通常の読出動作でFIFOメモリを読み出してしまうと、問題が生じることとなる。すなわち、プログラムの実行を休止させた状態で、開発者がデバッグ機能によりFIFOメモリをリードすると、この読出動作によってFIFOメモリのリードポインタが更新され、リードポインタが次の情報格納領域を指すようになるため、この状態でプログラムの実行を再開すると、プログラムの休止中にFIFOメモリをリードした分だけFIFOメモリの内容が欠落することになってしまう。
プログラム実行の休止は、人間の操作による場合だけでなく、ICEの機能として、プログラムの実行中にわずかな時間だけ休止し、その間にFIFOメモリをリードした後プログラムの実行を再開することで、プログラムを実行しながらあたかもリアルタイムにメモリ等の内容を表示させる場合にも生ずる。
そこで、本発明は、FIFOメモリを内蔵するワンチップ・マイクロコンピュータのプログラムを開発するとき等にインサーキットエミュレータを使用しても、FIFOメモリの読出動作が障害とならないようなインサーキットエミュレータにおけるFIFOメモリ読出方法の提供と、このFIFOメモリ読出方法を採用したFIFOメモリ内蔵ワンチップ・マイクロコンピュータ用インサーキットエミュレータの提供を目的とする。
上記の課題を解決するために、請求項1に係る発明は、FIFOメモリを内蔵したワンチップ・マイクロコンピュータの機能をエミュレートするインサーキットエミュレータにおけるFIFOメモリの読出方法であって、プログラム実行中のFIFOメモリ読出に際しては、読出アドレスを指示するリードポインタを更新させるが、プログラム非実行中のFIFOメモリ読出に際しては、リードポインタを更新させないようにしたことを特徴とする。
また、請求項2に係る発明は、前記請求項1に記載のインサーキットエミュレータにおけるFIFOメモリ読出方法において、エミュレートするワンチップ・マイクロコンピュータは、外部からの入力データを読み出す受信用FIFOメモリと、外部への出力データを書き込む送信用FIFOメモリとを別々に備え、プログラム実行中の受信用FIFOメモリ読出に際しては、FIFORAMへ読出信号を出力すると共に、FIFORAMの読出アドレスを記憶するアドレス制御回路へリードポインタ更新信号を出力してリードポインタを更新させ、プログラム非実行中の受信用FIFOメモリ読出に際しては、FIFORAMへ読出信号を出力するが、アドレス制御回路へリードポインタ更新信号を出力しないことで、リードポインタを更新させないようにしたことを特徴とする。
また、請求項3に係る発明は、前記請求項1に記載のインサーキットエミュレータにおけるFIFOメモリ読出方法において、エミュレートするワンチップ・マイクロコンピュータは、外部からの入力データを読み出す受信用FIFOメモリと、外部への出力データを書き込む送信用FIFOメモリとを別々に備えると共に、コアCPUはプログラムデータをメモリから読み出すときにプログラム読出指示信号を出力するものであり、プログラム実行中の受信用FIFOメモリ読出に際しては、コアCPUよりプログラム読出指示信号を出力してから予め定めた通常読出期間内にFIFOメモリの読出信号を出力することにより、FIFORAMおよびアドレス制御回路の両方へ読出信号を入力させて、FIFORAMからの読出およびアドレス制御回路のリードポインタ更新を行わせ、プログラム非実行中の受信用FIFOメモリ読出に際しては、コアCPUよりプログラム読出指示信号を出力してから通常読出期間を経過した後にFIFOメモリの読出信号を出力することにより、FIFORAMのみへ読出信号を入力させて、アドレス制御回路のリードポインタを更新することなくFIFORAMからの読出を行うようにしたことを特徴とする。
上記の課題を解決するために、請求項4に係る発明は、FIFOメモリを内蔵したワンチップ・マイクロコンピュータの機能をエミュレートするインサーキットエミュレータであって、プログラム実行中のFIFOメモリ読出に際しては、読出アドレスを指示するリードポインタを更新させるが、プログラム非実行中のFIFOメモリ読出に際しては、リードポインタを更新させないようにFIFOメモリのアクセス制御を行うメモリアクセス制御手段を設けたことを特徴とする。
また、請求項5に係る発明は、前記請求項4に記載のFIFOメモリ内蔵ワンチップ・マイクロコンピュータ用インサーキットエミュレータにおいて、エミュレートするワンチップ・マイクロコンピュータと同様に、外部からの入力データを読み出す受信用FIFOメモリと、外部への出力データを書き込む送信用FIFOメモリとを別々に備え、前記受信用FIFOメモリと送信用FIFOメモリへのアクセス制御を行うメモリアクセス制御手段が、プログラム実行中の受信用FIFOメモリ読出に際しては、FIFORAMへ読出信号を出力すると共に、FIFORAMの読出アドレスを記憶するアドレス制御回路へリードポインタ更新信号を出力してリードポインタを更新させ、プログラム非実行中の受信用FIFOメモリ読出に際しては、FIFORAMへ読出信号を出力するが、アドレス制御回路へリードポインタ更新信号を出力しないことで、リードポインタを更新させないようにしたことを特徴とする。
また、請求項6に係る発明は、前記請求項4に記載のFIFOメモリ内蔵ワンチップ・マイクロコンピュータ用インサーキットエミュレータにおいて、エミュレートするワンチップ・マイクロコンピュータと同様に、外部からの入力データを読み出す受信用FIFOメモリと、外部への出力データを書き込む送信用FIFOメモリとを別々に備えると共に、コアCPUがプログラムデータをメモリから読み出すときにプログラム読出指示信号を出力するものとし、前記受信用FIFOメモリと送信用FIFOメモリへのアクセス制御を行うメモリアクセス制御手段は、コアCPUよりプログラム読出指示信号を出力してから予め定めた通常読出期間を計時する通常読出期間計時手段と、前記通常読出期間計時手段により計時される通常読出期間内に受信用FIFOメモリの読出信号を受けると、受信用FIFOメモリのFIFORAMおよびアドレス制御回路の両方へ読出信号を入力させ、通常読出期間外に受信用FIFOメモリの読出信号を受けると、FIFORAMのみへ読出信号を入力させる読出信号出力選択手段と、を備え、プログラム実行中のコアCPUによる受信用FIFOメモリ読出に際しては、通常読出期間内にメモリアクセス制御手段へ読出信号を出力することで、FIFORAMからの読出およびアドレス制御回路のリードポインタ更新を行わせ、プログラム非実行中の受信用FIFOメモリ読出に際しては、通常読出期間外にメモリアクセス制御手段へ読出信号を出力することで、アドレス制御回路のリードポインタを更新することなくFIFORAMからの読出を行わせるようにしたことを特徴とする。
請求項1に係るインサーキットエミュレータにおけるFIFOメモリ読出方法によれば、プログラム実行中のFIFOメモリ読出に際しては、読出アドレスを指示するリードポインタを更新させるが、プログラム非実行中のFIFOメモリ読出に際しては、リードポインタを更新させないようにしたので、プログラム非実行中にFIFOメモリを読み出しても、プログラム中断時におけるFIFOメモリのリードポインタが更新されることはなく、プログラムの実行を再開してもFIFOメモリの内容が欠落するような障害を回避できる。
請求項2に係るインサーキットエミュレータにおけるFIFOメモリ読出方法によれば、エミュレートするワンチップ・マイクロコンピュータは、外部からの入力データを読み出す受信用FIFOメモリと、外部への出力データを書き込む送信用FIFOメモリとを別々に備え、プログラム実行中の受信用FIFOメモリ読出に際しては、FIFORAMへ読出信号を出力すると共に、FIFORAMの読出アドレスを記憶するアドレス制御回路へリードポインタ更新信号を出力してリードポインタを更新させ、プログラム非実行中の受信用FIFOメモリ読出に際しては、FIFORAMへ読出信号を出力するが、アドレス制御回路へリードポインタ更新信号を出力しないことで、リードポインタを更新させないようにしたので、FIFORAMへの読出信号とアドレス制御回路へのリードポインタ更新信号を個別に出力するという簡単な手法で、FIFOメモリにおけるリードポインタ更新制御を実現できる。
請求項3に係るインサーキットエミュレータにおけるFIFOメモリ読出方法によれば、エミュレートするワンチップ・マイクロコンピュータは、外部からの入力データを読み出す受信用FIFOメモリと、外部への出力データを書き込む送信用FIFOメモリとを別々に備えると共に、コアCPUはプログラムデータをメモリから読み出すときにプログラム読出指示信号を出力するものであり、プログラム実行中の受信用FIFOメモリ読出に際しては、コアCPUよりプログラム読出指示信号を出力してから予め定めた通常読出期間内にFIFOメモリの読出信号を出力することにより、FIFORAMおよびアドレス制御回路の両方へ読出信号を入力させて、FIFORAMからの読出およびアドレス制御回路のリードポインタ更新を行わせ、プログラム非実行中の受信用FIFOメモリ読出に際しては、コアCPUよりプログラム読出指示信号を出力してから通常読出期間を経過した後にFIFOメモリの読出信号を出力することにより、FIFORAMのみへ読出信号を入力させて、アドレス制御回路のリードポインタを更新することなくFIFORAMからの読出を行うようにしたので、FIFOメモリのリードポインタ更新制御が必要なプログラム実行中におけるFIFOメモリの読出と、FIFOメモリのリードポインタ更新制御が不要なプログラム実行中でないときのFIFOメモリの読出とを、通常読出期間内か通常読出期間外かで判別するという簡単な手法で、FIFOメモリにおけるリードポインタ更新制御を実現できる。
請求項4に係るFIFOメモリ内蔵ワンチップ・マイクロコンピュータ用インサーキットエミュレータによれば、プログラム実行中のFIFOメモリ読出に際しては、読出アドレスを指示するリードポインタを更新させるが、プログラム非実行中のFIFOメモリ読出に際しては、リードポインタを更新させないようにFIFOメモリのアクセス制御を行うメモリアクセス制御手段を設けたので、メモリアクセス制御手段がプログラム非実行中にFIFOメモリを読み出しても、プログラム中断時におけるFIFOメモリのリードポインタを更新することはなく、プログラムの実行を再開してもFIFOメモリの内容が欠落するような障害を回避できる。
請求項5に係るFIFOメモリ内蔵ワンチップ・マイクロコンピュータ用インサーキットエミュレータによれば、エミュレートするワンチップ・マイクロコンピュータと同様に、外部からの入力データを読み出す受信用FIFOメモリと、外部への出力データを書き込む送信用FIFOメモリとを別々に備え、前記受信用FIFOメモリと送信用FIFOメモリへのアクセス制御を行うメモリアクセス制御手段が、プログラム実行中の受信用FIFOメモリ読出に際しては、FIFORAMへ読出信号を出力すると共に、FIFORAMの読出アドレスを記憶するアドレス制御回路へリードポインタ更新信号を出力してリードポインタを更新させ、プログラム非実行中の受信用FIFOメモリ読出に際しては、FIFORAMへ読出信号を出力するが、アドレス制御回路へリードポインタ更新信号を出力しないことで、リードポインタを更新させないようにしたので、メモリアクセス制御手段がFIFORAMへの読出信号とアドレス制御回路へのリードポインタ更新信号を個別に出力するという簡単な構成で、FIFOメモリにおけるリードポインタ更新制御を実現できる。
請求項6に係るFIFOメモリ内蔵ワンチップ・マイクロコンピュータ用インサーキットエミュレータによれば、エミュレートするワンチップ・マイクロコンピュータと同様に、外部からの入力データを読み出す受信用FIFOメモリと、外部への出力データを書き込む送信用FIFOメモリとを別々に備えると共に、コアCPUがプログラムデータをメモリから読み出すときにプログラム読出指示信号を出力するものとし、前記受信用FIFOメモリと送信用FIFOメモリへのアクセス制御を行うメモリアクセス制御手段は、コアCPUよりプログラム読出指示信号を出力してから予め定めた通常読出期間を計時する通常読出期間計時手段と、前記通常読出期間計時手段により計時される通常読出期間内に受信用FIFOメモリの読出信号を受けると、受信用FIFOメモリのFIFORAMおよびアドレス制御回路の両方へ読出信号を入力させ、通常読出期間外に受信用FIFOメモリの読出信号を受けると、FIFORAMのみへ読出信号を入力させる読出信号出力選択手段と、を備え、プログラム実行中のコアCPUによる受信用FIFOメモリ読出に際しては、通常読出期間内にメモリアクセス制御手段へ読出信号を出力することで、FIFORAMからの読出およびアドレス制御回路のリードポインタ更新を行わせ、プログラム非実行中の受信用FIFOメモリ読出に際しては、通常読出期間外にメモリアクセス制御手段へ読出信号を出力することで、アドレス制御回路のリードポインタを更新することなくFIFORAMからの読出を行わせるようにしたので、メモリアクセス制御手段における読出信号出力制御手段が、FIFOメモリのリードポインタ更新制御が必要なプログラム実行中におけるFIFORAMおよびアドレス制御回路への読出信号出力と、FIFOメモリのリードポインタ更新制御が不要なプログラム実行中でないときのFIFORAMのみへの読出信号出力とを、通常読出期間計時手段により計時される通常読出期間内か通常読出期間外かで判別するという簡単な構成で、FIFOメモリにおけるリードポインタ更新制御を実現できる。
以下、本発明の望ましい実施形態を添付図面に基づいて詳細に説明する。
図1に示すのは、本発明に係るFIFOメモリ内蔵ワンチップ・マイクロコンピュータ用インサーキットエミュレータの第1実施形態の概略構成を示すもので、少なくともコアCPU,ROM,RAM,I/Oをワンチップ内に集約した構造のワンチップ・マイクロコンピュータ(以下、単にワンチップCPUという)のインサーキットエミュレータ(以下、単にICEという)として機能させるコアCPU用ICE100およびワンチップCPU用ICEPOD200をターゲット基板300に接続し、制御用コンピュータPCからの指示により動作し、種々の情報が制御用コンピュータPCに表示される。
なお、ICEはエミュレート対象のワンチップCPUと同様の回路構成を持つ装置であるが、本構成例においては、コアCPUに該当する構成をコアCPU用ICE100とし、その他の周辺回路を設けたワンチップCPU用ICEPOD200とは別の装置として構成してある。これは、通常のワンチップCPUが多品種になるため、その一つ一つに対応したICEを製造販売するよりも、コアCPU用のICEを共通に使用し、異なる機能を有した各々のワンチップCPUについては、各々の機能に応じたICEPODを製造販売した方が経済的な場合が多いからである。無論、コアCPU用ICE100とワンチップCPU用ICEPODを一体化して、ターゲット基板300および制御用コンピュータPCに接続する構成であっても構わない。
ワンチップCPU用ICEPOD200は、コアCPU用ICE100を接続するコアCPU用ソケット210を有しており、コアCPU用ICE100と種々の信号を授受する。なお、図1に示す構成図においては、後述するFIFOメモリのアクセスに関連する信号として、クロック信号CLK、読出信号RD、書込信号WR、プログラム読出指示信号M1、アドレス信号、データ信号のみを示し、他の信号は省略した。また、図1に示す構成図においては、ワンチップCPU用ICEPOD200にFIFOメモリのアクセスに関連する構成のみ示し、その他の構成は省略してある。
エミュレート対象のワンチップCPUが制御するターゲット基板300には、ワンチップCPUが装着されるワンチップCPU用ソケット310が実装されており、ここにワンチップCPU用ICEPOD200からのプローブが接続される。ワンチップCPU用ICEPOD200の代わりに、開発したプログラムが書き込まれたワンチップCPUをワンチップCPU用ソケット310に装着すれば、ターゲット基板300は独立して動作することになる。
ワンチップCPU用ICEPOD200の内部には、上記ターゲット基板300とシリアル通信を行うためのシリアル通信ポート220を備え、このシリアル通信ポート220を介して行うシリアル通信における受信バッファとして用いる第1FIFOメモリ230と、送信バッファとして用いる第2FIFOメモリ240を設け、これら第1,第2FIFOメモリ230,240へのアクセスは、アドレスデコード回路250によって行う。
外部であるターゲット基板300から通信データを受信したシリアル通信ポート220は、そのデータをライト信号SWRとともに第1FIFOメモリ230に出力する。第1FIFOメモリ230では、アドレス制御回路231が次にライトすべきFIFORAM232の書込アドレスをライトポインタとして保持しているので、シリアル通信ポート220から入力されたデータは、ライト信号SWRの入力タイミングによりライトポインタの示す位置(FIFORAM232中の書込アドレスに対応した情報格納領域)にライトされる。このライト信号SWRは、同時にアドレス制御回路231にも入力されているので、アドレス制御回路231は、この次にライトすべきデータのためにライトポインタを更新する。
また、外部であるターゲット基板300から読出信号を受信したシリアル通信ポート220は、リード信号SRDを第2FIFOメモリ240に出力する。第2FIFOメモリ240では、アドレス制御回路241が次にリードすべきFIFORAM242の読出アドレスをリードポインタとして保持しているので、シリアル通信ポート230からリード信号SRDの入力タイミングによりリードポインタの示す位置(FIFORAM242中の読出アドレスに対応した情報格納領域)からリードされ、シリアル通信ポート220からターゲット基板300へ送信される。このリード信号SRDは、同時にアドレス制御回路241にも入力されているので、アドレス制御回路241は、この次にリードすべきデータのためにリードポインタを更新する。
一方、プログラム実行中のコアCPU用ICE100から外部であるターゲット基板300へのデータ送信を行う場合には、送信用のデータをワンチップCPU用ICEPOD200へ出力すると共に、第2FIFOメモリ240が配置されているアドレスを指定するアドレス信号と書込信号WRを送信する。アドレス信号と書込信号WRはアドレスデコード回路250によりデコードされ、ライト信号FWRが第2FIFOメモリ240に入力される。第2FIFOメモリ240では、アドレス制御回路241が次にライトすべきFIFORAM242の書込アドレスをライトポインタとして保持しているので、データバスを介して入力されたデータは、ライト信号FWRの入力タイミングによりライトポインタの示す位置(FIFORAM242中の書込アドレスに対応した情報格納領域)にライトされる。このライト信号FWRは、同時にアドレス制御回路241にも入力されているので、アドレス制御回路241は、この次にライトすべきデータのためにライトポインタを更新する。
また、コアCPU用ICE100が第1FIFOメモリ230をリードするときは、第1FIFOメモリ230のFIFORAM232が配置されているアドレスを指定するアドレス信号と読出信号RDをワンチップCPU用ICEPOD200へ出力する。アドレス信号と読出信号RDはアドレスデコード回路250を経てデコードされ、リード信号FRDがデータ出力タイミングで第1FIFOメモリ230へ入力される。第1FIFOメモリ230のアドレス制御回路231は、次にリードすべきRAMのアドレスをリードポインタとして保持しているので、そのリードポインタの示す位置(FIFORAM232中の読出アドレスに対応した情報格納領域)の内容を、アドレスデコード回路250からリード信号FRDが入力されたタイミングでデータバスにデータを出力する。
しかして、従来のFIFOメモリの読出方法においては、リード信号FRDをFIFOメモリ232とアドレス制御回路231へ入力させるものであったことから、第2FIFOメモリ230からのデータ読出を行うと、必ずアドレス制御回路231が記憶するリードポインタも更新されてしまうものであったが、本構成例のワンチップ用ICEPOD200においては、第1FIFOメモリ230の読出に際しては、アドレスデコード回路250からFRD信号がFIFORAM232のみへ出力され、アドレス制御回路231へリードポインタの更新を指示するリードポインタ更新信号FUPは別途出力構成とした。
すなわち、本実施形態に係るICEにおいては、第1FIFOメモリ230の読出に際しては、アドレス制御回路231へリードポインタ更新信号FUPを出力するか否かによって、アドレス制御回路231におけるリードポインタの更新制御を任意に行うことができるのである。
なお、第2FIFOメモリ230のアドレス制御回路231へ出力するリードポインタ更新信号の生成手法や出力タイミングは特に限定されるものではなく、ワンチップCPUのコアCPUから新たな信号(読出領域更新指示信号)を読出信号RDと同時に出力させるようにしても良いが、本構成例においては、既存のコアCPUとの親和性を図るため、第1FIFOメモリ230のアドレス制御回路231が配置されているアドレスを指定するアドレス信号と書込信号WRを出力するものとし、アドレスデコード回路250より第1FIFOメモリ230のアドレス制御回路231へ出力されるライト信号をリードポインタ更新信号FUPとして用いるものとした。
すなわち、通常のプログラム実行中において第1FIFOメモリ230の読出を行う場合、コアCPUは、第1FIFOメモリ230からデータをリードした後は、リードポインタ更新動作として、第1FIFOメモリ230にデータをライトする制御を行うものとする。この場合のデータは、実際に第1FIFOメモリ230にライトされるわけではないので、どんなデータであってもよい。
これに対し、ICEの機能としてプログラムの実行を休止させて第1FIFOメモリ230をリードする場合、読出信号RDを出力しても、アドレスデコード回路250から第1FIFOメモリ250のFIFORAM232にリード信号FRDが入力されるだけで、アドレス制御回路231のリードポインタは更新されないので、プログラムの実行を再開したとき、アドレス制御回路231のリードポインタはプログラムが休止する前の状態に保持されており、第1FIFOメモリ230から読み出すデータが欠落してしまうことがない。
上述したように、第1実施形態に係るFIFOメモリ内蔵ワンチップ・マイクロコンピュータ用インサーキットエミュレータにおいては、アドレスデコード回路250をメモリアクセス制御手段として用いることで、プログラム実行中の受信用FIFOメモリ読出に際しては、FIFORAMへ読出信号を出力すると共に、FIFORAMの読出アドレスを記憶するアドレス制御回路へリードポインタ更新信号を出力してリードポインタを更新させ、プログラム非実行中の受信用FIFOメモリ読出に際しては、FIFORAMへ読出信号を出力するが、アドレス制御回路へリードポインタ更新信号を出力しないことで、リードポインタを更新させないようにすることができる。
次に、本発明に係るFIFOメモリ内蔵ワンチップ・マイクロコンピュータ用インサーキットエミュレータの第2実施形態を説明する。図2は、その概略構成を示すもので、ワンチップCPU用ICEPOD200′においては、コアCPUから第1,第2FIFOメモリ230,240への読出・書込制御は、メモリアクセス制御手段260を介して行うものとした。なお、前述した第1実施形態と同一の構成には、同一符号を付して説明を省略する。
メモリアクセス制御手段260は、コアCPUのプログラム休止状態を自動で判別し、プログラム動作中にのみ、第1FIFOメモリ230のアドレス制御回路231に対するリードポインタの更新を認める機能を有するもので、前述した第1実施形態のように、リードポインタ更新のための制御を別途行う必要がない。
図3は、メモリアクセス制御手段260の概略構成を示すもので、アドレス信号や読出信号RD、書込信号WRがアドレスデコード回路261へ入力され、リード信号FRDが第1FIFOメモリ230へ、ライト信号FWRが第2FIFOメモリ240へ出力されることとなる。
読出信号RDは2入力の第1アンド回路262aにも入力され、この第1アンド回路262aの他方の入力には、CPUコアがプログラムデータの読込を指示するときに出力するプログラム読出信号M1が入力される。すなわち、図4のタイミングチャートに示すように、読出信号RDとプログラム読出信号M1が共にON(例えば、LレベルからHレベルへ反転)すると第1アンド回路262aが開き、カウンタ263をリセットし、4つの出力ポートQ0〜Q3をOFF(例えば、HレベルからLレベルに反転)する。
このカウンタ263は、コアCPUが第1FIFOメモリ230をリードするために必要十分な時間として予め定めた通常読出期間を確保できるクロック数(例えば8クロック)がセット(例えば、十進数「8」を4ビットで表した“1000”をQ3〜Q0に割り当てたときのQ3出力にセット)されており、クロック信号CLKのパルス入力毎にカウントアップしてゆき、カウントアップするとQ3出力がON(例えば、LレベルからHレベルに反転)する。
なお、カウンタ263におけるQ3出力は、ノット回路264で反転されて第2アンド回路262bおよびカウンタ263のイネーブル端子ENへ入力される。すなわち、イネーブル端子ENへの入力信号がHレベルの間(Q3出力がLレベルの間)は入力されるクロック信号CLKをカウントするが、カウンタ263がカウントアップしてQ3出力がHレベルに反転すると、イネーブル端子ENへの入力がLレベルとなるので、クロック信号CLKのカウントも終了する。
カウンタ263におけるクロック信号CLKのカウント開始タイミングやカウント判定条件は特に限定されるものではないが、例えば、図4に示すように、プログラム読出信号M1または読出信号RDがOFFになって、リセット信号RSTがLレベルになってからクロック信号CLKのカウントを開始し、クロック信号CLKにおけるパルスの立ち上がりエッジ検出でパルスカウントを行うものとする。すなわち、図4に示すように、8個目のパルスの立ち上がりエッジでQ3出力がHに判定することとなり、カウンタ263がリセットされてから通常読出期間が経過するのに必要十分な時間を確保できる。
上述したカウンタ263のQ3出力がノット回路264で反転されて入力される2入力の第2アンド回路262bの他方の入力には、アドレスデコード回路261より出力されるリード信号FRDが入力されている。すなわち、Q3出力がLレベルである通常読出期間中にリード信号FRDが出力されると、第2アンド回路262bがONとなってリードポインタ更新信号FUPが出力されるが、通常読出期間経過後にリード信号FRDが出力されても、第2アンド回路262bはOFFを保持するためにリードポインタ更新信号FUPは出力されない(図4を参照)。
このように、本実施形態におけるメモリアクセス制御手段260は、第1アンド回路262a,カウンタ263,ノット回路264が協働することで「コアCPUよりプログラム読出指示信号を出力してから予め定めた通常読出期間を計時する通常読出期間計時手段」としての機能を実現し、アドレスデコード回路261からのFRD信号とカウンタ263からの反転Q3出力信号を2入力とする第2アンド回路262bが「通常読出期間計時手段により計時される通常読出期間内に受信用FIFOメモリの読出信号を受けると、受信用FIFOメモリのFIFORAMおよびアドレス制御回路の両方へ読出信号を入力させ、通常読出期間外に受信用FIFOメモリの読出信号を受けると、FIFORAMのみへ読出信号を入力させる読出信号出力選択手段」として機能するので、プログラム実行中におけるコアCPUによる第1FIFOメモリ230の読出に際しては、通常読出期間内にメモリアクセス制御手段260へ読出信号RDを出力することで、FIFORAM232からの読出およびアドレス制御回路231のリードポインタ更新を行わせ、プログラム非実行中における第1FIFOメモリ230の読出に際しては、通常読出期間外(プログラム読出信号M1および読出信号RD出力に伴う通常読出期間の経過後、またはプログラム読出信号M1および読出信号RD出力による通常読出期間の設定前)にメモリアクセス制御手段260へ読出信号RDを出力することで、アドレス制御回路231のリードポインタを更新することなくFIFORAM232からの読出を行わせることができる。
以上、本発明に係るインサーキットエミュレータにおけるFIFOメモリ読出方法を具現化したFIFOメモリ内蔵ワンチップ・マイクロコンピュータ用インサーキットエミュレータの実施形態を添付図面に基づいて詳述したが、本発明は、これらに限定されるものではなく、特許請求の範囲に記載の構成を変更しない限り、種々の等価技術を採用して実現することが可能である。
本発明の第1実施形態に係るFIFOメモリ内蔵ワンチップ・マイクロコンピュータ用インサーキットエミュレータの概略構成図である。 本発明の第2実施形態に係るFIFOメモリ内蔵ワンチップ・マイクロコンピュータ用インサーキットエミュレータの概略構成図である。 第2実施形態に係るICEにおけるメモリアクセス制御手段の概略構成図である。 メモリアクセス制御手段によるFIFOメモリの読出動作を示すタイミングチャートである。
符号の説明
100 コアCPU用ICE
200 ワンチップCPU用ICEPOD
210 コアCPU用ソケット
220 シリアル通信ポート
230 第1FIFOメモリ
231 アドレス制御回路
232 FIFORAM
240 第2FIFOメモリ
241 アドレス制御回路
242 FIFOメモリ
250 アドレスデコード回路
300 ターゲット基板
310 ワンチップCPU用ソケット
PC 制御用コンピュータ

Claims (6)

  1. FIFOメモリを内蔵したワンチップ・マイクロコンピュータの機能をエミュレートするインサーキットエミュレータにおけるFIFOメモリの読出方法であって、
    プログラム実行中のFIFOメモリ読出に際しては、読出アドレスを指示するリードポインタを更新させるが、プログラム非実行中のFIFOメモリ読出に際しては、リードポインタを更新させないようにしたことを特徴とするインサーキットエミュレータにおけるFIFOメモリ読出方法。
  2. エミュレートするワンチップ・マイクロコンピュータは、外部からの入力データを読み出す受信用FIFOメモリと、外部への出力データを書き込む送信用FIFOメモリとを別々に備え、
    プログラム実行中の受信用FIFOメモリ読出に際しては、FIFORAMへ読出信号を出力すると共に、FIFORAMの読出アドレスを記憶するアドレス制御回路へリードポインタ更新信号を出力してリードポインタを更新させ、
    プログラム非実行中の受信用FIFOメモリ読出に際しては、FIFORAMへ読出信号を出力するが、アドレス制御回路へリードポインタ更新信号を出力しないことで、リードポインタを更新させないようにしたことを特徴とする請求項1に記載のインサーキットエミュレータにおけるFIFOメモリ読出方法。
  3. エミュレートするワンチップ・マイクロコンピュータは、外部からの入力データを読み出す受信用FIFOメモリと、外部への出力データを書き込む送信用FIFOメモリとを別々に備えると共に、コアCPUはプログラムデータをメモリから読み出すときにプログラム読出指示信号を出力するものであり、
    プログラム実行中の受信用FIFOメモリ読出に際しては、コアCPUよりプログラム読出指示信号を出力してから予め定めた通常読出期間内にFIFOメモリの読出信号を出力することにより、FIFORAMおよびアドレス制御回路の両方へ読出信号を入力させて、FIFORAMからの読出およびアドレス制御回路のリードポインタ更新を行わせ、
    プログラム非実行中の受信用FIFOメモリ読出に際しては、コアCPUよりプログラム読出指示信号を出力してから通常読出期間を経過した後にFIFOメモリの読出信号を出力することにより、FIFORAMのみへ読出信号を入力させて、アドレス制御回路のリードポインタを更新することなくFIFORAMからの読出を行うようにしたことを特徴とする請求項1に記載のインサーキットエミュレータにおけるFIFOメモリ読出方法。
  4. FIFOメモリを内蔵したワンチップ・マイクロコンピュータの機能をエミュレートするインサーキットエミュレータであって、
    プログラム実行中のFIFOメモリ読出に際しては、読出アドレスを指示するリードポインタを更新させるが、プログラム非実行中のFIFOメモリ読出に際しては、リードポインタを更新させないようにFIFOメモリのアクセス制御を行うメモリアクセス制御手段を設けたことを特徴とするFIFOメモリ内蔵ワンチップ・マイクロコンピュータ用インサーキットエミュレータ。
  5. エミュレートするワンチップ・マイクロコンピュータと同様に、外部からの入力データを読み出す受信用FIFOメモリと、外部への出力データを書き込む送信用FIFOメモリとを別々に備え、
    前記受信用FIFOメモリと送信用FIFOメモリへのアクセス制御を行うメモリアクセス制御手段が、プログラム実行中の受信用FIFOメモリ読出に際しては、FIFORAMへ読出信号を出力すると共に、FIFORAMの読出アドレスを記憶するアドレス制御回路へリードポインタ更新信号を出力してリードポインタを更新させ、プログラム非実行中の受信用FIFOメモリ読出に際しては、FIFORAMへ読出信号を出力するが、アドレス制御回路へリードポインタ更新信号を出力しないことで、リードポインタを更新させないようにしたことを特徴とする請求項4に記載のFIFOメモリ内蔵ワンチップ・マイクロコンピュータ用インサーキットエミュレータ。
  6. エミュレートするワンチップ・マイクロコンピュータと同様に、外部からの入力データを読み出す受信用FIFOメモリと、外部への出力データを書き込む送信用FIFOメモリとを別々に備えると共に、コアCPUがプログラムデータをメモリから読み出すときにプログラム読出指示信号を出力するものとし、
    前記受信用FIFOメモリと送信用FIFOメモリへのアクセス制御を行うメモリアクセス制御手段は、
    コアCPUよりプログラム読出指示信号を出力してから予め定めた通常読出期間を計時する通常読出期間計時手段と、
    前記通常読出期間計時手段により計時される通常読出期間内に受信用FIFOメモリの読出信号を受けると、受信用FIFOメモリのFIFORAMおよびアドレス制御回路の両方へ読出信号を入力させ、通常読出期間外に受信用FIFOメモリの読出信号を受けると、FIFORAMのみへ読出信号を入力させる読出信号出力選択手段と、
    を備え、
    プログラム実行中のコアCPUによる受信用FIFOメモリ読出に際しては、通常読出期間内にメモリアクセス制御手段へ読出信号を出力することで、FIFORAMからの読出およびアドレス制御回路のリードポインタ更新を行わせ、プログラム非実行中の受信用FIFOメモリ読出に際しては、通常読出期間外にメモリアクセス制御手段へ読出信号を出力することで、アドレス制御回路のリードポインタを更新することなくFIFORAMからの読出を行わせるようにしたことを特徴とする請求項4に記載のFIFOメモリ内蔵ワンチップ・マイクロコンピュータ用インサーキットエミュレータ。
JP2007210675A 2007-08-13 2007-08-13 インサーキットエミュレータにおけるfifoメモリ読出方法およびfifoメモリ内蔵ワンチップ・マイクロコンピュータ用インサーキットエミュレータ Active JP5036448B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007210675A JP5036448B2 (ja) 2007-08-13 2007-08-13 インサーキットエミュレータにおけるfifoメモリ読出方法およびfifoメモリ内蔵ワンチップ・マイクロコンピュータ用インサーキットエミュレータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007210675A JP5036448B2 (ja) 2007-08-13 2007-08-13 インサーキットエミュレータにおけるfifoメモリ読出方法およびfifoメモリ内蔵ワンチップ・マイクロコンピュータ用インサーキットエミュレータ

Publications (2)

Publication Number Publication Date
JP2009043209A JP2009043209A (ja) 2009-02-26
JP5036448B2 true JP5036448B2 (ja) 2012-09-26

Family

ID=40443860

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007210675A Active JP5036448B2 (ja) 2007-08-13 2007-08-13 インサーキットエミュレータにおけるfifoメモリ読出方法およびfifoメモリ内蔵ワンチップ・マイクロコンピュータ用インサーキットエミュレータ

Country Status (1)

Country Link
JP (1) JP5036448B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5443956B2 (ja) * 2009-11-20 2014-03-19 株式会社エルイーテック インサーキットエミュレータ用アダプタおよびインサーキットエミュレータ

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3267654B2 (ja) * 1991-03-08 2002-03-18 松下電器産業株式会社 データ転送装置
JP3885654B2 (ja) * 1997-06-24 2007-02-21 株式会社三洋物産 遊技機
JPH11143732A (ja) * 1997-11-06 1999-05-28 Hitachi Ltd マイクロコンピュータ及びエミュレータ
JP2003141058A (ja) * 2001-11-02 2003-05-16 Hitachi Ltd 通信制御lsi及び半導体集積回路

Also Published As

Publication number Publication date
JP2009043209A (ja) 2009-02-26

Similar Documents

Publication Publication Date Title
KR100439781B1 (ko) 데이터프로세서와그동작방법,그디버깅동작실행방법및그중단점값수정방법
KR100350568B1 (ko) 디버그기능을수행하기위한데이타처리시스템및방법
KR102170644B1 (ko) 낮은 레벨 프로그래밍 가능한 시퀀서와 조합한 범용 프로그래밍 가능한 프로세서를 사용한 비휘발성 메모리 채널 제어
US6668339B1 (en) Microprocessor having a debug interruption function
US7506205B2 (en) Debugging system and method for use with software breakpoint
US20030014736A1 (en) Debugger breakpoint management in a multicore DSP device having shared program memory
US5903912A (en) Microcontroller configured to convey data corresponding to internal memory accesses externally
US5423029A (en) Circuit and method for testing direct memory access circuitry
JP5036448B2 (ja) インサーキットエミュレータにおけるfifoメモリ読出方法およびfifoメモリ内蔵ワンチップ・マイクロコンピュータ用インサーキットエミュレータ
US5860161A (en) Microcontroller configured to indicate internal memory accesses externally
CN111177067A (zh) 一种片上系统
US7231568B2 (en) System debugging device and system debugging method
US6928532B2 (en) Logic integrated circuit, and recording medium readable by a computer, which stores a source of CPU core on said logic integrated circuit
JP2011039781A (ja) 協調シミュレーション装置及びシミュレーション方法
JP2007058450A (ja) 半導体集積回路
JP5443956B2 (ja) インサーキットエミュレータ用アダプタおよびインサーキットエミュレータ
JPH08221293A (ja) エミュレータ装置
CN114385524A (zh) 嵌入式固件仿真系统及其方法、装置和电子设备
JP2004094451A (ja) オンチップjtagインタフェース回路およびシステムlsi
JP2020140380A (ja) 半導体装置及びデバッグシステム
US7689864B2 (en) Processor comprising an integrated debugging interface controlled by the processing unit of the processor
JP2005251217A (ja) マイクロコンピュータ、電子機器及びデバッグシステム
JP2008009743A (ja) データ処理装置
US20110225340A1 (en) Emulator interface device and method thereof
JPS6230453B2 (ja)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120523

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120703

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

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5036448

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S631 Written request for registration of reclamation of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313631

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

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

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

Year of fee payment: 3

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250