JP3443694B2 - エミュレーション時のレジスタモニタ方法 - Google Patents
エミュレーション時のレジスタモニタ方法Info
- Publication number
- JP3443694B2 JP3443694B2 JP29234794A JP29234794A JP3443694B2 JP 3443694 B2 JP3443694 B2 JP 3443694B2 JP 29234794 A JP29234794 A JP 29234794A JP 29234794 A JP29234794 A JP 29234794A JP 3443694 B2 JP3443694 B2 JP 3443694B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- data
- signal processing
- instruction
- processing core
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
- G06F11/3652—Software debugging using additional hardware in-circuit-emulation [ICE] arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/261—Functional testing by simulating additional hardware, e.g. fault simulation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
コンピュータシステム内のレジスタをモニタする方法に
関する。
ロコンピュータ等のコンピュータシステムのソフトウェ
アをテストまたはデバッグしたり、ハードウェアの動作
をチェックする場合に使われている。この種のエミュレ
ーションでは、エミュレーションの対象となるコンピュ
ータシステムつまりターゲット・システムでプログラム
(ターゲット・プログラム)を実行し、その実行途中で
トレース機能により任意の実行情報のパターンを検出し
たり、ブレイク機能によりターゲット・プログラムを所
望のブレイク・ポイントで中断させてシステム内の各部
の状態を調べたりして、ターゲット・システムをソフト
ウェア的またはハードウェア的にチェックないしデバッ
グするようにしている。
・ポイントでシステム内の各部の状態を調べるために、
ターゲット・システム内の主要なレジスタ(たとえばア
キュムレータレジスタやメモリI/Oレジスタ等)の内
容または情報をスキャン・パス方式で読み出すようにし
ている。
明する。図4において、ターゲット・システム100は
たとえばマイクロプロセッサまたはDSP(ディジタル
シグナルプロセッサ)であり、内部には様々なレジスタ
が各部に分散して配置されている。これら各種レジスタ
のうち、システムの要部を構成するレジスタ、たとえば
アドレス系のレジスタや制御系のレジスタ、およびアキ
ュムレータレジスタやメモリI/Oレジスタ等のように
プログラムの命令でそのレジスタ名を指定してそこにデ
ータを書き込みまたはそこからデータを読み出せるよう
なデータ系のレジスタ(I/Oレジスタ)がスキャン・
パス,,,…に組み込まれる。
ジスタの構成を示す。一例として、図示のレジスタは4
ビット構成としている。この種レジスタの各ビット要素
は、図6に示すようにシリアル・スキャン可能なマスタ
ースレーブ型のラッチ回路(フリップフロップ)FF0
〜FF3 から構成されている。
ップFFi はデータの取り込みを行うマスタ・ラッチ回
路LM とデータを保持するスレーブ・ラッチ回路LS と
からなる。
LM における入力データの確定およびスレーブ・ラッチ
回路LS における出力データの変化は、それぞれの入力
ゲート回路GM ,GS に与えられる互いに位相のずれた
マスタ・クロックMCLOCKおよびスレーブ・クロックSCLO
CKに同期して行われる。したがって、マスタ・ラッチ回
路LM にデータが取り込まれている時、スレーブ・ラッ
チ回路LS は1つ前のサイクルのデータを保持して出力
し、マスタ・ラッチ回路LM のデータ取り込み口(ゲー
ト回路GM )が閉まるのと同時にスレーブ・ラッチ回路
LS のデータ取り込み口(ゲート回路GS )が開いてマ
スタ側からのデータを取り込み、出力データを更新する
ようになっている。なお、通常モードでは、マスタ・ラ
ッチ回路LM の他方(スキャン用)の入力ゲート回路G
T は閉じている。したがって、図5のレジスタはパラレ
ルIN・パラレルOUT型のレジスタとして動作する。
・クロックMCLOCKの供給が止まってゲート回路GM が閉
じ、その代わりにテスト・クロックTCLOCKがゲート回路
GTに供給される。これにより、マスタ・ラッチ回路LM
にはテスト・クロックTCLOCKに同期してスキャン・イ
ン入力端子からのデータが取り込まれ、次にスレーブ・
クロックSCLOCKに同期してこのデータがスレーブ・ラッ
チ回路LS に取り込まれ次段のフリップフロップFFi+
1 へ出力される。このようにして、スキャン・パス・モ
ードでは、図5のレジスタが、シリアルIN・シリアル
OUT型のレジスタとして動作する。
まれる各レジスタは、通常モードではデータをパラレル
に入出力し、スキャン・パス・モードではデータをシリ
アルに入出力するように構成されている。
は複数本のスキャン・パスが設けられ、各スキャン・パ
ス上に1つまたは複数のレジスタがシリアルに接続され
る。たとえば、図4に示すターゲット・システム100
では、第1のスキャン・パス上に2つのレジスタRA
1,RA2がシリアルに接続され、第2のスキャン・パス
上に3つのレジスタRB1,RB2,RB3がシリアルに接
続され、第3のスキャン・パス上に2つのレジスタR
C1,RC2がシリアルに接続される。各スキャン・パス
,,,…の両端はマルチプレクサ102,104
およびデータ入出力端子106,108を介してエミュ
レータ110に接続される。なお、図4に示すスキャン
・パスおよびレジスタの個数、配置は説明のための一例
にすぎない。
システム100のプログラムを所定のブレイク・ポイン
トで止めると、その時点のシステム状態を表す情報がレ
ジスタRA1,RA2……に保持されている。エミュレータ
110は、マルチプレクサ102,104を切り替えて
スキャン・パス,,,…を順次選択し、選択した
スキャン・パス上の各レジスタにテスト・クロックTCLO
CKとスレーブ・クロックSCLOCKを供給して、上記のよう
に各レジスタの内容をスキャン・パス上でシリアルに移
動させて順次ターゲット・システム100の外に読み出
して取り込む。エミュレータ110は、各スキャン・パ
ス上にどのレジスタがどの順位で位置しているのかを予
め知っているため、各スキャン・パスから取り込んだ一
連のシリアルデータを各レジスタ毎に分離し、ブレイク
・ポイントでの各レジスタの内容(情報)をディスプレ
イ112の画面に表示する。
タシステムのカスタム設計では、システム主要部はコア
としてメーカ側で設計し、残りをカスタマに開放してい
る。この場合、上記したようにコア内部の各レジスタは
いずれかのスキャン・パス上に組み入れられる。一方
で、カスタマがコア外部のレジスタRx をシステム要素
の1つとして採用し(図4)、かつエミュレーション時
にそのレジスタ内容をモニタしたいと望むことがある。
通常は複数個のI/Oレジスタがコア外部に用意されて
おり、その中のどれが選ばれるかはカスタマ次第であ
る。
求があると、選択されたコア外部のI/OレジスタRx
をいずれかのスキャン・パスに組み入れ、エミュレーシ
ョン時にはそのスキャン・パス上にあるコア内部のレジ
スタと一緒に該レジスタRxの内容をシリアルにスキャ
ンして読み出すようにしていた。
ン・パスに組み入れるとなると、このレジスタRx をも
シリアル・スキャン可能なマスタースレーブ型のラッチ
回路からなるレジスタ構成にしなければならないだけで
なく、このレジスタRx を追加されるスキャン・パス上
でレジスタの配置パターンないしレイアウトが変わるた
め、エミュレータ110側のソフトウェアを変更しなけ
ればならなくなる。しかも、カスタマの要求仕様毎にい
ずれかのスキャン・パス上でレジスタ配置パターンが任
意に変わるため、その都度エミュレータ側のソフトウェ
アを変更または開発しなければならず、設計効率が低い
という問題があった。
もので、エミュレータ側のソフトウェアを変更すること
なくエミュレーションを受けるコンピュータシステム内
の種々のレジスタの読み出しを行えるようにした方法を
提供することを目的とする。
ム内のスキャン・パス上に接続されていないレジスタに
対してエミュレータからの読み出しまたは書き込みを行
えるようにした方法を提供することにある。
に、本発明の第1のエミュレーション時のレジスタモニ
タ方法は、第1のレジスタを有する信号処理コア部と第
2のレジスタを有する周辺回路部とを有する集積回路に
おけるエミュレータを用いたエミュレーション時のレジ
スタモニタ方法であって、上記信号処理コア部における
プログラムの実行を停止する段階と、データのシリアル
転送のためにスキャン・パスの間に上記信号処理コア部
に属する上記第1のレジスタを上記エミュレータに接続
する段階と、上記集積回路の試験の間に、上記信号処理
コア部の内部のプログラム実行制御回路の制御の下に、
上記信号処理コア部の外部の上記第2のレジスタから上
記信号処理コア部の内部の上記第1のレジスタにバスを
介しての並列的なレジスタ間転送によってデータを転送
する段階と、その後、上記第1のレジスタをスキャンす
ることによって上記第2のレジスタの内容が上記エミュ
レータに読み出される段階とを有する。
のレジスタモニタ方法は、第1のレジスタを有する信号
処理コア部と第2のレジスタを有する周辺回路部とを有
する集積回路におけるエミュレータを用いたエミュレー
ション時のレジスタモニタ方法であって、上記信号処理
コア部におけるプログラムの実行を停止する段階と、デ
ータのシリアル転送のためにスキャン・パスの間に上記
信号処理コア部に属する上記第1のレジスタを上記エミ
ュレータに接続する段階と、上記第1のレジスタに対し
てスキャン・パスを介してエミュレータからデータをシ
リアルに転送する段階と、上記集積回路の試験の間に、
上記信号処理コア部の内部のプログラム実行制御回路の
制御の下に、上記信号処理コア部の内部の上記第1のレ
ジスタから上記信号処理コア部の外部の上記第2のレジ
スタにバスを介しての並列的なレジスタ間転送によって
データを転送する段階とを有し、それにより上記エミュ
レータから上記第2のレジスタにデータが書き込まれ
る。
ニタ方法においては、更に、上記プログラム実行制御回
路に命令を供給するために、上記信号処理コア部の内部
の命令レジスタをスキャン・パスの1つに接続する段階
と、上記スキャン・パスを介して上記命令レジスタに第
1又は第2のデータ転送命令を供給する段階とを有し、
上記第1又は第2のデータ転送命令が実行されることに
よって上記バスを介しての並列的なレジスタ間転送が行
われて上記第2のレジスタから上記第1のレジスタへ又
は上記第1のレジスタから上記第2のレジスタへデータ
が転送される。
法では、ターゲット・プログラムの実行がブレイク・ポ
イント等で停止すると、エミュレータは、先ず各スキャ
ン・パス上のレジスタを順次シリアルにスキャンして読
み出す。そして、バスを介した並列的なレジスタ間転送
によって、信号処理コア部の外部の周辺回路部の第2の
レジスタから信号処理コア部の第1のレジスタにデータ
が転送される。エミュレータが第1のレジスタの内容を
スキャンすることによって、スキャン・パスに直接接続
されていない周辺回路部の第2のレジスタのデータが読
み出される。この第2のレジスタから第1のレジスタへ
のデータの転送は、エミュレータがスキャン・パスを介
して信号処理コア部の命令レジスタに第1のデータ転送
命令をセットし、その第1のデータ転送命令が実行され
ることで実現される。
タ方法では、ターゲット・プログラムの実行がブレイク
・ポイント等で停止すると、エミュレータは、先ず各ス
キャン・パス上のレジスタを順次シリアルにスキャンし
て読み出す。また、スキャン・パス上の信号処理コア部
の第1のレジスタに所定のデータをセットする。そし
て、パスを介した並列的なレジスタ間転送によって、信
号処理コア部の内部の第1のレジスタから信号処理コア
部の外部の周辺回路部の第2のレジスタにデータが転送
される。この並列的なレジスタ間転送によって、スキャ
ン・パスに直接接続されていない周辺回路部の第2のレ
ジスタにデータが書き込まれる。この第1のレジスタか
ら第2のレジスタへのデータの転送は、エミュレータが
スキャン・パスを介して信号処理コア部の命令レジスタ
に第2のデータ転送命令をセットし、その第2のデータ
転送命令が実行されることで実現される。
を説明する。
てエミュレーションを受けるコンピュータシステムたと
えばDSPの内部の主要な構成のブロック図であり、図
1はデータ記憶部および演算部の構成を示し、図2はプ
ログラム記憶部および制御部の構成を示す。なお、本実
施例においても、図4に示すようにして、このDSPが
ターゲット・システムとしてエミュレータ110に接続
される。
立した2本のデータバス(D−BUS10,C−BUS
12)が設けられ、これらのバスに図示のようにデータ
メモリ(D−MEM)14,係数メモリ(C−MEM)
16、算術論理演算ユニット(ALU)18および積和
演算器(MAC)20が接続されている。
たとえばSRAM(Static RandamAccess Memory)から
なる。D−MEM14は積和演算その他の演算に用いる
データおよび演算結果のデータを蓄積する。C−MEM
16は積和演算のための係数データを蓄積する。
は、アドレスレジスタ22,24、制御レジスタ26,
28およびI/Oレジスタ30,32が接続されてい
る。アドレスレジスタ22,24には、メモリアクセス
(書き込み、読み出し)におけるアドレッシングのため
のアドレス情報が格納される。制御レジスタ26,28
には、メモリアクセスにおける制御信号(たとえばライ
ト信号、リード信号等)が格納される。I/Oレジスタ
30,32には、それぞれのメモリ(D−MEM14,
C−MEM16)に書き込まれるデータまたは読み出さ
れたデータが格納される。D−MEM14のI/Oレジ
スタ30はD−BUS10に接続され、C−MEM16
のI/Oレジスタ32はC−BUS12に接続されてい
る。
6の回りのアドレスレジスタ22,24、制御レジスタ
26,28およびI/Oレジスタ30,32は、各々が
シリアル・スキャン可能なマスタースレーブ型のラッチ
回路からなるレジスタ構成を有しており、点線で示すよ
うに1本のスキャン・パス(説明の便宜上とする)
上で互いにシリアルに接続されている。
演算を行う演算器であり、アキュムレータ(ALU-ACC) 1
8aを内蔵している。MAC20は、専ら積和演算を行
う演算器であり、乗算器(図示せず)およびアキュムレ
ータ(MAC-ACC) 20aを内蔵している。このように2つ
の演算器(ALU18,MAC20)が備えられている
ため、たとえばALU18で加算を行いながらMAC2
0で畳み込みを行うというような並列処理が可能となっ
ている。
蔵されているアキュムレータ(ALU-ACC)18a,(MAC-A
CC) 20aも、各々がシリアル・スキャン可能なマスタ
ースレーブ型のラッチ回路からなるレジスタ構成を有し
ており、点線で示すように同一のスキャン・パス(説
明の便宜上とする)上で互いにシリアルに接続されて
いる。
モリ(P−MEM)40は、たとえばSRAMからな
り、これにアドレスレジスタ42、制御レジスタ44お
よびI/Oレジスタ46が接続されている。アドレスレ
ジスタ42には、メモリアクセス(書き込み、読み出
し)におけるアドレッシングのためのアドレス情報が格
納される。制御レジスタ44には、メモリアクセスにお
ける制御信号(たとえばライト信号W、リード信号R
等)が格納される。I/Oレジスタ46には、P−ME
M40に書き込まれるデータまたはP−MEM40より
読み出されたデータが格納される。
示せず)よりインタフェース回路(図示せず)、C−B
US12およびこのプログラムメモリI/Oレジスタ4
6を介してダウンロードでプログラムがP−MEM40
に格納される。
よりプログラムメモリI/Oレジスタ46に読み出され
た命令コードは、命令レジスタ48およびシーケンス・
コントローラ54に与えられる。PLA50は、命令レ
ジスタ48にロードされた命令コードを解読し、その命
令に対応した1組の制御信号をPLA出力レジスタ52
に出力し、そこから各制御信号を各部の所要のレジス
タ、ゲート類に送るようになっている。
転送命令等を扱うのに対し、シーケンス・コントローラ
54はジャンプ命令やサブルーチン命令等を扱う。シー
ケンス・コントローラ54も、自己の扱う命令を解読
(識別)すると、その命令に対応した制御信号を各部の
所要のレジスタ、ゲート類に送るように動作する。シー
ケンスコントローラ54には、コントロール/ステータ
ス用やリピートカウンタ用の数個のレジスタ56(図2
では略して1つのレジスタ群として示す)も接続されて
いる。
シーケンス・コートローラ54の回りのアドレスレジス
タ42、制御レジスタ44、I/Oレジスタ46、命令
レジスタ48、PLA出力レジスタ52およびレジスタ
群56は、各々がシリアル・スキャン可能なマスタース
レーブ型のラッチ回路からなるレジスタ構成を有してお
り、点線で示すように1本のスキャン・パス(説明の
便宜上とする)上で互いにシリアルに接続されてい
る。
うなこのDSPの主要部つまりコア内部に属しているレ
ジスタは、ベンダ側の基本設計段階でいずれかのスキャ
ン・パスに組み込まれる。
路等に各種のI/Oレジスタが設けられる。たとえば、
オーディオ用DSPの場合は、ホストコンローラとプロ
グラムやデータをやりとりするためのホスト・インタフ
ェース回路、外部のディジタル・オーディオ回路および
外部補助メモリとそれぞれデータをやりとりするための
オーディオ・インタフェース回路および外部メモリ入出
力インタフェース回路等がシステム要素として構成さ
れ、それらのインタフェースの中には内部バス(本実施
例ではD−BUS10,C−BUS)と接続するI/O
レジスタが含まれている。
所望の機能を割り当てられ、しかもエミュレーションの
モニタ対象となった場合は、エミュレーション時にそれ
らのレジスタ内容がエミュレータ110側へ読み出され
なければならない。
レーションのモニタ対象とされるコア外部のI/Oレジ
スタRG1,RG2,…RGn を模式的に集約して示す。
G2,…RGn は、I/O空間にマッピングされること
で、プログラムの命令でそのレジスタ名(たとえばI01
,IO2,…,IOn)を指定してそこにデータを書き込んだ
りそこからデータを読み出せるようになっている。たと
えば、コア内部のD−MEM(データメモリ)14と各
々のコア外部I/OレジスタRGi (i=1,2,…,
n)との間で互いにデータを転送し合えるIN/OUT
命令が定義されている。
D(dma)」と記述される命令は、「コア外部I/Oレジ
スタRGi の内容をアドレス情報(dma)で指定され
るD−MEM10のメモリ番地に転送せよ」という意味
の命令である。また、「OUT D(dma) ,IOi 」と記
述される命令は、「アドレス情報(dma)で指定され
るD−MEM10のメモリ番地の内容をコア外部I/O
レジスタRGi に転送せよ」という意味の命令である。
とき、データはデータメモリI/Oレジスタ30にいっ
たん保持されてから転送先へ送られる。つまり、IN命
令の場合は、転送元のコア外部I/OレジスタRGi か
らD−BUS10を介して送られてきたデータがデータ
メモリI/Oレジスタ30にロードされ、このレジスタ
30からD−MEM10内の転送先のメモリ番地に書き
込まれる。OUT命令の場合は、D−MEM10内の転
送元のメモリ番地より読み出されたデータがレジスタ3
0にロードされ、レジスタ30からD−BUS10を介
して転送先のコア外部I/OレジスタRGi へ送られ
る。
な従来より定義されている命令セットに加えて、新たに
データメモリI/Oレジスタ30と各々のコア外部I/
OレジスタRGi (i=1,2,…,n)との間で互いに
データを転送し合えるIN’/OUT’命令が定義され
ている。
D(dma) 」と記述される命令は、「コア外部I/Oレジ
スタRGi の内容をデータメモリI/Oレジスタ30に
転送せよ」という意味の命令である。このIN’命令に
おいて、アドレス情報(dma)には特に意味はなく、
任意の値が可能である。また、「OUT’D(dma) ,IO
i 」と記述される命令は、「データメモリI/Oレジス
タ30の内容をコア外部I/OレジスタRGi に転送せ
よ」という意味の命令である。OUT’命令でも、アド
レス情報(dma)には特に意味がなく、任意の値が可
能である。
されたことに伴い、PLA50(図2)は、IN’命令
またはOUT’命令のコードが命令レジスタ48にロー
ドされたならその命令を解読し、かつその命令に対応し
た制御信号(つまり所要のデータ転送を行うための制御
信号)を生成するように構成される。
ステムとしたときのエミュレーション時の動作について
説明する。
0に格納されるターゲット・プログラムには予め所定箇
所にブレイク・ポイントが設定される。本DSPでター
ゲット・プログラムを走らせると、途中で該ブレイク・
ポイントに当たり、そこでプログラムの実行が止まる。
この時、DSP内の各レジスタにはシステム状態ないし
各部の状態を表す情報が保持されている。
キャン・パス,,,…を順次選択し、選択したス
キャン・パス上の各レジスタ(コア内部レジスタ)にテ
スト・クロックTCLOCKとスレーブ・クロックSCLOCKを供
給して、各レジスタの内容をスキャン・パス上でシリア
ルに移動させて順次本DSP(ターゲット・システム1
00)からエミュレータ側に読み出して取り込む。エミ
ュレータ110は、各スキャン・パス上にどのコア内部
レジスタがどの順番で位置しているのかを予め知ってお
り、各スキャン・パスから取り込んだ一連のシリアルデ
ータを各レジスタ毎に分離し、ブレイク・ポイントでの
各レジスタの内容(情報)をエミュレータ内のメモリに
蓄積するとともにディスプレイ112の画面に表示す
る。
パスを選択し、このスキャン・パス上の各レジスタ
にテスト・クロックTCLOCKとスレーブ・クロックSCLOCK
を供給することにより、スキャン・パスを介して上記
のIN’命令「IN'IO1,D(dma) 」の命令コードを命
令レジスタ48に送り込む。そうすると、このIN’命
令「IN'IOi,D(dma) 」がPLA50に解読され、P
LA50より所定の制御信号がPLA出力レジスタ52
を通じて各部に送られる。これにより、コア外部I/O
レジスタRG1 の内容がD−BUS10を介してデータ
メモリI/Oレジスタ30に転送される。
・パスを選択し、このスキャン・パス上の各レジス
タにテスト・クロックTCLOCKとスレーブ・クロックSCLO
CKを供給することにより、スキャン・パスを介してデ
ータメモリI/Oレジスタ30の内容(つまりコア外部
I/OレジスタRG1 の内容)を本DSPから読み出
し、取り込んだこのレジスタ情報を内部メモリに格納す
るとともにディスプレイ112の画面に表示する。
n の内容についても、エミュレータ110は、上記コア
外部I/OレジスタRG1 に対するのと同様にして、本
DSPにIN’命令「IN'IO2,D(dma) 」〜「IN'I
On,D(dma) 」を逐次実行させ、各レジスタ情報をD−
BUS10、データメモリI/Oレジスタ30およびス
キャン・パスを介して読み出し、内部メモリへの蓄積
と画面表示を行う。
いずれのスキャン・パス上にも接続されていない各コア
外部I/OレジスタRG1 〜RGn の内容をスキャン・
パス上に接続されているデータメモリI/Oレジスタ
30を介して読み取ることができる。
ト・プログラムが中断している間、上記のOUT’命令
を用いて、それらのコア外部I/OレジスタRG1 〜R
Gnの内容を任意に書き換えることも可能である。この
場合は、最初にスキャン・パスを介して所望のデータ
をデータメモリI/Oレジスタ30に転送し、次にスキ
ャン・パスを介して「OUT’D(dma) ,IOi 」の命
令コードを命令レジスタ48に送り込む。そうすると、
本DSP内でこの「OUT’D(dma) ,IOi 」命令が実
行され、データメモリI/Oレジスタ30の内容(エミ
ュレータ110からのデータ)がD−BUS10を介し
てコア外部I/OレジスタRGi に転送される。
開させるとき、エミュレータ110は、スキャン・パス
,,…を順次選択して、上記と同様のシリアル・
スキャン操作により全てのスキャン・パス上のレジスタ
にそれぞれ元の内容(ブレイク・ポイント直前のレジス
タ内容)を送り込んでから、ターゲット・プログラムに
実行を移す。
ーションのためにターゲット・プログラムが中断してい
る間に、エミュレータ110は、スキャン・パス上に
接続されているデータメモリI/Oレジスタ30を中継
点として、いずれのスキャン・パス上にも接続されてい
ないコア外部I/OレジスタRG1 〜RGn の内容を読
み取ったり、書き換えたりすることができる。したがっ
て、カスタム設計においてこれらコア外部I/Oレジス
タRG1 〜RGn のいずれがシステム要素に採用されて
も、スキャン・パスには何の変更・追加も要らず、エミ
ュレータ110は同一のソフトウェアで対応(モニタ)
することができる。
Gn はスキャン・パスに組み入れられることがないの
で、それらをシリアル・スキャン可能なマスタースレー
ブ型のラッチ回路からなるレジスタ構成とする必要はな
く、パラレル入出力型のレジスタ構成に固定しておくこ
とが可能であり、そのぶん回路設計も簡単になる。
外れているコア外部I/Oレジスタに対してスキャン・
パス上の中継点にデータメモリI/Oレジスタ30を選
んだが、これは1つの例であり、他のコア内部I/Oレ
ジスタ、たとえばALUアキュムレータ(ALU-ACC) 18
a等をスキャン・パス上の中継点に選ぶことも可能であ
る。
(データメモリI/Oレジスタ30)とコア外部レジス
タRG1 〜RGn との間のデータ転送はD−BUS10
を介して行われたが、C−BUS12を用いることも可
能であり、個々のシステム毎に任意の内部バスを使用す
ることができる。
対象となるコンピュータシステムがDSPであったが、
本発明の方法はDSP以外の種々のコンピュータシステ
ムにも適用可能なものである。
ーション時のレジスタモニタ方法によれば、コンピュー
タシステム内でスキャン・パスに属しているレジスタと
属していないレジスタとの間での所定のデータ転送命令
を設定し、このデータ転送命令とスキャン・パス操作と
を組み合わせることにより、エミュレータのソフトウェ
アを変更することなく種々のレジスタ、特にスキャン・
パスに属していない種々のレジスタをモニタすることが
可能であり、システムの設計効率を改善することができ
る。
受けるDSPのデータ記憶部および演算部の構成を示す
ブロック図である。
Pのプログラム記憶部および制御部の構成を示すブロッ
ク図である。
P内のコア外部I/Oレジスタを模式的に集約して示す
ブロック図である。
を示すブロック図である。
例を示すブロック図である。
可能なマスタースレーブ型のラッチ回路(フリップフロ
ップ)の構成を示すブロック図である。
Claims (5)
- 【請求項1】 第1のレジスタを有する信号処理コア部
と第2のレジスタを有する周辺回路部とを有する集積回
路におけるエミュレータを用いたエミュレーション時の
レジスタモニタ方法であって、 上記信号処理コア部におけるプログラムの実行を停止す
る段階と、データのシリアル転送のためにスキャン・パスの間に上
記信号処理コア部に属する上記第1のレジスタを上記エ
ミュレータに接続する段階と、 上記集積回路の試験の間に、上記信号処理コア部の内部
のプログラム実行制御回路の制御の下に、上記信号処理
コア部の外部の上記第2のレジスタから上記信号処理コ
ア部の内部の上記第1のレジスタにバスを介しての並列
的なレジスタ間転送によってデータを転送する段階と、 その後、上記第1のレジスタをスキャンすることによっ
て上記第2のレジスタの内容が上記エミュレータに読み
出される段階とを有するエミュレーション時のレジスタ
モニタ方法。 - 【請求項2】 上記プログラム実行制御回路に命令を供
給するために、上記信号処理コア部の内部の命令レジス
タをスキャン・パスの1つに接続する段階と、 上記スキャン・パスを介して上記命令レジスタに第1の
データ転送命令を供給する段階とを有し、上記第1のデ
ータ転送命令が実行されることによって上記バスを介し
ての並列的なレジスタ間転送が行われて上記第2のレジ
スタから上記第1のレジスタへデータが転送される請求
項1に記載のエミュレーション時のレジスタモニタ方
法。 - 【請求項3】 第1のレジスタを有する信号処理コア部
と第2のレジスタを有する周辺回路部とを有する集積回
路におけるエミュレータを用いたエミュレーション時の
レジスタモニタ方法であって、 上記信号処理コア部におけるプログラムの実行を停止す
る段階と、データのシリアル転送のためにスキャン・パスの間に上
記信号処理コア部に属する上記第1のレジスタを上記エ
ミュレータに接続する段階と、 上記第1のレジスタに対してスキャン・パスを介してエ
ミュレータからデータをシリアルに転送する段階と、 上記集積回路の試験の間に、上記信号処理コア部の内部
のプログラム実行制御回路の制御の下に、上記信号処理
コア部の内部の上記第1のレジスタから上記信号処理コ
ア部の外部の上記第2のレジスタにバスを介しての並列
的なレジスタ間転送によってデータを転送する段階とを
有し、それにより上記エミュレータから上記第2のレジ
スタにデータが書き込まれるエミュレーション時のレジ
スタモニタ方法。 - 【請求項4】 上記プログラム実行制御回路に命令を供
給するために、上記信号処理コア部の内部の命令レジス
タをスキャン・パスの1つに接続する段階と、 上記スキャン・パスを介して上記命令レジスタに第2の
データ転送命令を供給する段階とを有し、上記第2のデ
ータ転送命令が実行されることによって上記バスを介し
ての並列的なレジスタ間転送が行われて上記第1のレジ
スタから上記第2のレジスタへデータが転送される請求
項3に記載のエミュレーション時のレジスタモニタ方
法。 - 【請求項5】 上記第1のレジスタがシリアル入出力及
びパラレル入出力可能なレジスタ構成であり、上記第2
のレジスタがパラレル入出力型のレジスタ構成である請
求項1、2、3又は4に記載のエミュレーション時のレ
ジスタモニタ方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29234794A JP3443694B2 (ja) | 1994-11-01 | 1994-11-01 | エミュレーション時のレジスタモニタ方法 |
US08/548,357 US5872954A (en) | 1994-11-01 | 1995-11-01 | Method of monitoring registers during emulation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29234794A JP3443694B2 (ja) | 1994-11-01 | 1994-11-01 | エミュレーション時のレジスタモニタ方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08129494A JPH08129494A (ja) | 1996-05-21 |
JP3443694B2 true JP3443694B2 (ja) | 2003-09-08 |
Family
ID=17780630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP29234794A Expired - Lifetime JP3443694B2 (ja) | 1994-11-01 | 1994-11-01 | エミュレーション時のレジスタモニタ方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5872954A (ja) |
JP (1) | JP3443694B2 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6006343A (en) * | 1993-07-30 | 1999-12-21 | Texas Instruments Incorporated | Method and apparatus for streamlined testing of electrical circuits |
US6701395B1 (en) | 1998-02-06 | 2004-03-02 | Analog Devices, Inc. | Analog-to-digital converter that preseeds memory with channel identifier data and makes conversions at fixed rate with direct memory access |
US6385689B1 (en) | 1998-02-06 | 2002-05-07 | Analog Devices, Inc. | Memory and a data processor including a memory |
US6289300B1 (en) | 1998-02-06 | 2001-09-11 | Analog Devices, Inc. | Integrated circuit with embedded emulator and emulation system for use with such an integrated circuit |
US6230119B1 (en) * | 1998-02-06 | 2001-05-08 | Patrick Michael Mitchell | Integrated circuit with embedded emulator and emulation system for use with such an integrated circuit |
US6167365A (en) * | 1998-02-06 | 2000-12-26 | Texas Instruments Incorporated | Method of initializing CPU for emulation |
EP0935195A2 (en) | 1998-02-06 | 1999-08-11 | Analog Devices, Inc. | "An integrated circuit with a high resolution analog-to-digital converter, a microcontroller and high density memory and an emulator for an integrated circuit |
KR100404747B1 (ko) * | 1998-06-29 | 2003-12-18 | 현대중공업 주식회사 | 입/출력 스캐닝 모듈의 에뮬레이터 장치 |
KR100426304B1 (ko) * | 2001-09-17 | 2004-04-08 | 한국전자통신연구원 | 스마트 카드 에뮬레이터 및 그 에뮬레이션 방법 |
KR100865990B1 (ko) * | 2002-05-02 | 2008-10-29 | 주식회사 케이티 | 인터페이스 카드의 양방향 에뮬레이터 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4674089A (en) * | 1985-04-16 | 1987-06-16 | Intel Corporation | In-circuit emulator |
US5032783A (en) * | 1985-10-23 | 1991-07-16 | Texas Instruments Incorporated | Test circuit and scan tested logic device with isolated data lines during testing |
US5329471A (en) * | 1987-06-02 | 1994-07-12 | Texas Instruments Incorporated | Emulation devices, systems and methods utilizing state machines |
US5497456A (en) * | 1992-12-31 | 1996-03-05 | Intel Corporation | Apparatus for transferring information between an interrupt producer and an interrupt service environment |
US5657328A (en) * | 1993-11-19 | 1997-08-12 | Texas Instruments Incorporated | Scan design with expanded access capability |
-
1994
- 1994-11-01 JP JP29234794A patent/JP3443694B2/ja not_active Expired - Lifetime
-
1995
- 1995-11-01 US US08/548,357 patent/US5872954A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH08129494A (ja) | 1996-05-21 |
US5872954A (en) | 1999-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100439781B1 (ko) | 데이터프로세서와그동작방법,그디버깅동작실행방법및그중단점값수정방법 | |
US5594741A (en) | Method for control of random test vector generation | |
US6223228B1 (en) | Apparatus for synchronizing multiple processors in a data processing system | |
US7793075B2 (en) | Active memory command engine and method | |
JP4564110B2 (ja) | 二重プロセッサ回路の動作をシミュレーションするためのコンピュータ実行方法及び信号プロセッサシミュレータ | |
KR20000029997A (ko) | 집적dma콘트롤러를이용한집적메모리테스트방법 | |
US7302380B2 (en) | Simulation apparatus, method and program | |
JP3443694B2 (ja) | エミュレーション時のレジスタモニタ方法 | |
KR20030066641A (ko) | 효율적인 데이터 로딩 및 언로딩을 위하여 합성된 패킷기반 프로토콜 논리를 이용한 하드웨어 보조 설계 검증시스템 | |
US6820051B1 (en) | Software emulation monitor employed with hardware suspend mode | |
US5742801A (en) | Microprocessor to which additional instructions are added and instructions addition method thereof | |
US20030200423A1 (en) | Repeat block with zero cycle overhead nesting | |
US6249880B1 (en) | Method and apparatus for exhaustively testing interactions among multiple processors | |
JP2918019B2 (ja) | シングルチップマイクロプロセッサのテスト回路 | |
US7689864B2 (en) | Processor comprising an integrated debugging interface controlled by the processing unit of the processor | |
JP2000504444A (ja) | プログラマブル命令トラップシステム及び方法 | |
EP0134386A2 (en) | Method and apparatus for executing object code instructions compiled from a high-level language source | |
EP1050800A1 (en) | A pipelined execution unit | |
KR200181133Y1 (ko) | 중앙 처리 장치 | |
JP2808985B2 (ja) | 情報処理装置及びデバッグ装置 | |
JP2520158B2 (ja) | ディジタルシグナルプロセッサのデバッグ方式 | |
JP2850377B2 (ja) | マイクロコンピュータ | |
JPH01263739A (ja) | 情報処理装置 | |
JPH096641A (ja) | 情報処理装置 | |
JP2003108541A (ja) | プロセッサ、メモリテスト方法及びメモリテストシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20030527 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080627 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090627 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090627 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100627 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110627 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110627 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120627 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120627 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130627 Year of fee payment: 10 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |