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
Application number
JP29234794A
Other languages
English (en)
Other versions
JPH08129494A (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 JP29234794A priority Critical patent/JP3443694B2/ja
Priority to US08/548,357 priority patent/US5872954A/en
Publication of JPH08129494A publication Critical patent/JPH08129494A/ja
Application granted granted Critical
Publication of JP3443694B2 publication Critical patent/JP3443694B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

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/3648Software debugging using additional hardware
    • G06F11/3652Software debugging using additional hardware in-circuit-emulation [ICE] arrangements
    • 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

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

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、エミュレーション時に
コンピュータシステム内のレジスタをモニタする方法に
関する。
【0002】インサーキット・エミュレータは、マイク
ロコンピュータ等のコンピュータシステムのソフトウェ
アをテストまたはデバッグしたり、ハードウェアの動作
をチェックする場合に使われている。この種のエミュレ
ーションでは、エミュレーションの対象となるコンピュ
ータシステムつまりターゲット・システムでプログラム
(ターゲット・プログラム)を実行し、その実行途中で
トレース機能により任意の実行情報のパターンを検出し
たり、ブレイク機能によりターゲット・プログラムを所
望のレイク・ポイントで中断させてシステム内の各部
の状態を調べたりして、ターゲット・システムをソフト
ウェア的またはハードウェア的にチェックないしデバッ
グするようにしている。
【0003】この種のエミュレータの多くは、ブレ
・ポイントでシステム内の各部の状態を調べるために、
ターゲット・システム内の主要なレジスタ(たとえばア
キュムレータレジスタやメモリI/Oレジスタ等)の内
容または情報をスキャン・パス方式で読み出すようにし
ている。
【0004】図4〜図6につきスキャン・パス方式を説
明する。図4において、ターゲット・システム100は
たとえばマイクロプロセッサまたはDSP(ディジタル
シグナルプロセッサ)であり、内部には様々なレジスタ
が各部に分散して配置されている。これら各種レジスタ
のうち、システムの要部を構成するレジスタ、たとえば
アドレス系のレジスタや制御系のレジスタ、およびアキ
ュムレータレジスタやメモリI/Oレジスタ等のように
プログラムの命令でそのレジスタ名を指定してそこにデ
ータを書き込みまたはそこからデータを読み出せるよう
なデータ系のレジスタ(I/Oレジスタ)がスキャン・
パス,,,…に組み込まれる。
【0005】図5に、スキャン・パスに組み込まれるレ
ジスタの構成を示す。一例として、図示のレジスタは4
ビット構成としている。この種レジスタの各ビット要素
は、図6に示すようにシリアル・スキャン可能なマスタ
ースレーブ型のラッチ回路(フリップフロップ)FF0
〜FF3 から構成されている。
【0006】図6において、各段(桁)のフリップフロ
ップFFi はデータの取り込みを行うマスタ・ラッチ回
路LM とデータを保持するスレーブ・ラッチ回路LS と
からなる。
【0007】通常モードにおいて、マスタ・ラッチ回路
LM における入力データの確定およびスレーブ・ラッチ
回路LS における出力データの変化は、それぞれの入力
ゲート回路GM ,GS に与えられる互いに位相のずれた
マスタ・クロックMCLOCKおよびスレーブ・クロックSCLO
CKに同期して行われる。したがって、マスタ・ラッチ回
路LM にデータが取り込まれている時、スレーブ・ラッ
チ回路LS は1つ前のサイクルのデータを保持して出力
し、マスタ・ラッチ回路LM のデータ取り込み口(ゲー
ト回路GM )が閉まるのと同時にスレーブ・ラッチ回路
LS のデータ取り込み口(ゲート回路GS )が開いてマ
スタ側からのデータを取り込み、出力データを更新する
ようになっている。なお、通常モードでは、マスタ・ラ
ッチ回路LM の他方(スキャン用)の入力ゲート回路G
T は閉じている。したがって、図のレジスタはパラレ
ルIN・パラレルOUT型のレジスタとして動作する。
【0008】スキャン・パス・モードになると、マスタ
・クロックMCLOCKの供給が止まってゲート回路GM が閉
じ、その代わりにテスト・クロックTCLOCKがゲート回路
GTに供給される。これにより、マスタ・ラッチ回路LM
にはテスト・クロックTCLOCKに同期してスキャン・イ
ン入力端子からのデータが取り込まれ、次にスレーブ・
クロックSCLOCKに同期してこのデータがスレーブ・ラッ
チ回路LS に取り込まれ次段のフリップフロップFFi+
1 へ出力される。このようにして、スキャン・パス・モ
ードでは、図のレジスタが、シリアルIN・シリアル
OUT型のレジスタとして動作する。
【0009】上記したように、スキャン・パスに組み込
まれる各レジスタは、通常モードではデータをパラレル
に入出力し、スキャン・パス・モードではデータをシリ
アルに入出力するように構成されている。
【0010】一般に、1つのコンピュータシステム内に
は複数本のスキャン・パスが設けられ、各スキャン・パ
ス上に1つまたは複数のレジスタがシリアルに接続され
る。たとえば、図4に示すターゲット・システム100
では、第1のスキャン・パス上に2つのレジスタRA
1,RA2がシリアルに接続され、第2のスキャン・パス
上に3つのレジスタRB1,RB2,RB3がシリアルに接
続され、第3のスキャン・パス上に2つのレジスタR
C1,RC2がシリアルに接続される。各スキャン・パス
,,,…の両端はマルチプレクサ102,104
およびデータ入出力端子106,108を介してエミュ
レータ110に接続される。なお、図4に示すスキャン
・パスおよびレジスタの個数、配置は説明のための一例
にすぎない。
【0011】エミュレーションにおいて、ターゲット・
システム100のプログラムを所定のブレイク・ポイン
トで止めると、その時点のシステム状態を表す情報がレ
ジスタRA1,RA2……に保持されている。エミュレータ
110は、マルチプレクサ102,104を切り替えて
スキャン・パス,,,…を順次選択し、選択した
スキャン・パス上の各レジスタにテスト・クロックTCLO
CKとスレーブ・クロックSCLOCKを供給して、上記のよう
に各レジスタの内容をスキャン・パス上でシリアルに移
動させて順次ターゲット・システム100の外に読み出
して取り込む。エミュレータ110は、各スキャン・パ
ス上にどのレジスタがどの順位で位置しているのかを予
め知っているため、各スキャン・パスから取り込んだ一
連のシリアルデータを各レジスタ毎に分離し、ブレイク
・ポイントでの各レジスタの内容(情報)をディスプレ
イ112の画面に表示する。
【0012】
【発明が解決しようとする課題】ところで、コンピュー
タシステムのカスタム設計では、システム主要部はコア
としてメーカ側で設計し、残りをカスタマに開放してい
る。この場合、上記したようにコア内部の各レジスタは
いずれかのスキャン・パス上に組み入れられる。一方
で、カスタマがコア外部のレジスタRx をシステム要素
の1つとして採用し(図4)、かつエミュレーション時
にそのレジスタ内容をモニタしたいと望むことがある。
通常は複数個のI/Oレジスタがコア外部に用意されて
おり、その中のどれが選ばれるかはカスタマ次第であ
る。
【0013】従来は、そのようなカスタマからの仕様要
求があると、選択されたコア外部のI/OレジスタRx
をいずれかのスキャン・パスに組み入れ、エミュレーシ
ョン時にはそのスキャン・パス上にあるコア内部のレジ
スタと一緒に該レジスタRxの内容をシリアルにスキャ
ンして読み出すようにしていた。
【0014】しかし、コア外部のレジスタRx をスキャ
ン・パスに組み入れるとなると、このレジスタRx をも
シリアル・スキャン可能なマスタースレーブ型のラッチ
回路からなるレジスタ構成にしなければならないだけで
なく、このレジスタRx を追加されるスキャン・パス上
でレジスタの配置パターンないしレイアウトが変わるた
め、エミュレータ110側のソフトウェアを変更しなけ
ればならなくなる。しかも、カスタマの要求仕様毎にい
ずれかのスキャン・パス上でレジスタ配置パターンが任
意に変わるため、その都度エミュレータ側のソフトウェ
アを変更または開発しなければならず、設計効率が低い
という問題があった。
【0015】本発明は、かかる問題点に鑑みてなされた
もので、エミュレータ側のソフトウェアを変更すること
なくエミュレーションを受けるコンピュータシステム内
の種々のレジスタの読み出しを行えるようにした方法を
提供することを目的とする。
【0016】本発明の別の目的は、コンピュータシステ
ム内のスキャン・パス上に接続されていないレジスタに
対してエミュレータからの読み出しまたは書き込みを行
えるようにした方法を提供することにある。
【0017】
【課題を解決するための手段】上記目的を達成するため
に、本発明の第1のエミュレーション時のレジスタモニ
タ方法は、第1のレジスタを有する信号処理コア部と第
2のレジスタを有する周辺回路部とを有する集積回路に
おけるエミュレータを用いたエミュレーション時のレジ
スタモニタ方法であって、上記信号処理コア部における
プログラムの実行を停止する段階と、データのシリアル
転送のためにスキャン・パスの間に上記信号処理コア部
に属する上記第1のレジスタを上記エミュレータに接続
する段階と、上記集積回路の試験の間に、上記信号処理
コア部の内部のプログラム実行制御回路の制御の下に、
上記信号処理コア部の外部の上記第2のレジスタから上
記信号処理コア部の内部の上記第1のレジスタにバスを
介しての並列的なレジスタ間転送によってデータを転送
する段階と、その後、上記第1のレジスタをスキャンす
ることによって上記第2のレジスタの内容が上記エミュ
レータに読み出される段階とを有する。
【0018】また、本発明の第2のエミュレーション時
のレジスタモニタ方法は、第1のレジスタを有する信号
処理コア部と第2のレジスタを有する周辺回路部とを有
する集積回路におけるエミュレータを用いたエミュレー
ション時のレジスタモニタ方法であって、上記信号処理
コア部におけるプログラムの実行を停止する段階と、デ
ータのシリアル転送のためにスキャン・パスの間に上記
信号処理コア部に属する上記第1のレジスタを上記エミ
ュレータに接続する段階と、上記第1のレジスタに対し
スキャン・パスを介してエミュレータからデータをシ
リアルに転送する段階と、上記集積回路の試験の間に、
上記信号処理コア部の内部のプログラム実行制御回路の
制御の下に、上記信号処理コア部の内部の上記第1のレ
ジスタから上記信号処理コア部の外部の上記第2のレジ
スタにバスを介しての並列的なレジスタ間転送によって
データを転送する段階とを有し、それにより上記エミュ
レータから上記第2のレジスタにデータが書き込まれ
る。
【0019】本発明のエミュレーション時のレジスタモ
ニタ方法においては、更に、上記プログラム実行制御回
に命令を供給するために、上記信号処理コア部の内部
の命令レジスタをスキャン・パスの1つに接続する段階
と、上記スキャン・パスを介して上記命令レジスタに第
1又は第2のデータ転送命令を供給する段階とを有し、
上記第1又は第2のデータ転送命令が実行されることに
よって上記バスを介しての並列的なレジスタ間転送が行
われて上記第2のレジスタから上記第1のレジスタへ又
は上記第1のレジスタから上記第2のレジスタへデータ
が転送される。
【0020】
【作用】第1のエミュレーション時のレジスタモニタ方
法では、ターゲット・プログラムの実行がブレイク・ポ
イント等で停止すると、エミュレータは、先ず各スキャ
ン・パス上のレジスタを順次シリアルにスキャンして読
み出す。そして、バスを介した並列的なレジスタ間転送
によって、信号処理コア部の外部の周辺回路部の第2の
レジスタから信号処理コア部の第1のレジスタにデータ
が転送される。エミュレータが第1のレジスタの内容を
スキャンすることによって、スキャン・パスに直接接続
されていない周辺回路部の第2のレジスタのデータが読
み出される。この第2のレジスタから第1のレジスタへ
のデータの転送は、エミュレータがスキャン・パスを介
して信号処理コア部の命令レジスタに第1のデータ転送
命令をセットし、その第1のデータ転送命令が実行され
ることで実現される。
【0021】第2のエミュレーション時のレジスタモニ
タ方法では、ターゲット・プログラムの実行がブレイク
・ポイント等で停止すると、エミュレータは、先ず各ス
キャン・パス上のレジスタを順次シリアルにスキャンし
て読み出す。また、スキャン・パス上の信号処理コア部
の第1のレジスタに所定のデータをセットする。そし
て、パスを介した並列的なレジスタ間転送によって、信
号処理コア部の内部の第1のレジスタから信号処理コア
部の外部の周辺回路部の第2のレジスタにデータが転送
される。この並列的なレジスタ間転送によって、スキャ
ン・パスに直接接続されていない周辺回路部の第2のレ
ジスタにデータが書き込まれる。この第1のレジスタか
ら第2のレジスタへのデータの転送は、エミュレータが
スキャン・パスを介して信号処理コア部の命令レジスタ
に第2のデータ転送命令をセットし、その第2のデータ
転送命令が実行されることで実現される。
【0022】
【実施例】以下、図1〜図3を参照して本発明の実施例
を説明する。
【0023】図1および図2は本発明の一実施例におい
てエミュレーションを受けるコンピュータシステムたと
えばDSPの内部の主要な構成のブロック図であり、図
1はデータ記憶部および演算部の構成を示し、図2はプ
ログラム記憶部および制御部の構成を示す。なお、本実
施例においても、図4に示すようにして、このDSPが
ターゲット・システムとしてエミュレータ110に接続
される。
【0024】図1において、このDSPには、互いに独
立した2本のデータバス(D−BUS10,C−BUS
12)が設けられ、これらのバスに図示のようにデータ
メモリ(D−MEM)14,係数メモリ(C−MEM)
16、算術論理演算ユニット(ALU)18および積和
演算器(MAC)20が接続されている。
【0025】D−MEM14およびC−MEM16は、
たとえばSRAM(Static RandamAccess Memory)から
なる。D−MEM14は積和演算その他の演算に用いる
データおよび演算結果のデータを蓄積する。C−MEM
16は積和演算のための係数データを蓄積する。
【0026】D−MEM14およびC−MEM16に
は、アドレスレジスタ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に接続されてい
る。
【0027】これらD−MEM14およびC−MEM1
6の回りのアドレスレジスタ22,24、制御レジスタ
26,28およびI/Oレジスタ30,32は、各々が
シリアル・スキャン可能なマスタースレーブ型のラッチ
回路からなるレジスタ構成を有しており、点線で示すよ
うに1本のスキャン・パス(説明の便宜上とする)
上で互いにシリアルに接続されている。
【0028】ALU18は、任意の算術演算および論理
演算を行う演算器であり、アキュムレータ(ALU-ACC) 1
8aを内蔵している。MAC20は、専ら積和演算を行
う演算器であり、乗算器(図示せず)およびアキュムレ
ータ(MAC-ACC) 20aを内蔵している。このように2つ
の演算器(ALU18,MAC20)が備えられている
ため、たとえばALU18で加算を行いながらMAC2
0で畳み込みを行うというような並列処理が可能となっ
ている。
【0029】ALU18およびMAC20にそれぞれ内
蔵されているアキュムレータ(ALU-ACC)18a,(MAC-A
CC) 20aも、各々がシリアル・スキャン可能なマスタ
ースレーブ型のラッチ回路からなるレジスタ構成を有し
ており、点線で示すように同一のスキャン・パス(説
明の便宜上とする)上で互いにシリアルに接続されて
いる。
【0030】図2において、このDSPのプログラムメ
モリ(P−MEM)40は、たとえばSRAMからな
り、これにアドレスレジスタ42、制御レジスタ44お
よびI/Oレジスタ46が接続されている。アドレスレ
ジスタ42には、メモリアクセス(書き込み、読み出
し)におけるアドレッシングのためのアドレス情報が格
納される。制御レジスタ44には、メモリアクセスにお
ける制御信号(たとえばライト信号W、リード信号R
等)が格納される。I/Oレジスタ46には、P−ME
M40に書き込まれるデータまたはP−MEM40より
読み出されたデータが格納される。
【0031】このDSPでは、ホストコントローラ(図
示せず)よりインタフェース回路(図示せず)、C−B
US12およびこのプログラムメモリI/Oレジスタ4
を介してダウンロードでプログラムがP−MEM40
に格納される。
【0032】命令のフェッチサイクルでP−MEM40
よりプログラムメモリI/Oレジスタ46に読み出され
た命令コードは、命令レジスタ48およびシーケンス・
コントローラ54に与えられる。PLA50は、命令レ
ジスタ48にロードされた命令コードを解読し、その命
令に対応した1組の制御信号をPLA出力レジスタ52
に出力し、そこから各制御信号を各部の所要のレジス
タ、ゲート類に送るようになっている。
【0033】PLA50が主として算術論理演算命令や
転送命令等を扱うのに対し、シーケンス・コントローラ
54はジャンプ命令やサブルーチン命令等を扱う。シー
ケンス・コントローラ54も、自己の扱う命令を解読
(識別)すると、その命令に対応した制御信号を各部の
所要のレジスタ、ゲート類に送るように動作する。シー
ケンスコントローラ54には、コントロール/ステータ
ス用やリピートカウンタ用の数個のレジスタ56(図2
では略して1つのレジスタ群として示す)も接続されて
いる。
【0034】これらP−MEM40、PLA50および
シーケンス・コートローラ54の回りのアドレスレジス
タ42、制御レジスタ44、I/Oレジスタ46、命令
レジスタ48、PLA出力レジスタ52およびレジスタ
群56は、各々がシリアル・スキャン可能なマスタース
レーブ型のラッチ回路からなるレジスタ構成を有してお
り、点線で示すように1本のスキャン・パス(説明の
便宜上とする)上で互いにシリアルに接続されてい
る。
【0035】上記したように、図1および図2に示すよ
うなこのDSPの主要部つまりコア内部に属しているレ
ジスタは、ベンダ側の基本設計段階でいずれかのスキャ
ン・パスに組み込まれる。
【0036】コア外部にも、たとえばインタフェース回
路等に各種のI/Oレジスタが設けられる。たとえば、
オーディオ用DSPの場合は、ホストコンローラとプロ
グラムやデータをやりとりするためのホスト・インタフ
ェース回路、外部のディジタル・オーディオ回路および
外部補助メモリとそれぞれデータをやりとりするための
オーディオ・インタフェース回路および外部メモリ入出
力インタフェース回路等がシステム要素として構成さ
れ、それらのインタフェースの中には内部バス(本実施
例ではD−BUS10,C−BUS)と接続するI/O
レジスタが含まれている。
【0037】カスタム設計でそれらのI/Oレジスタが
所望の機能を割り当てられ、しかもエミュレーションの
モニタ対象となった場合は、エミュレーション時にそれ
らのレジスタ内容がエミュレータ110側へ読み出され
なければならない。
【0038】図3に、本実施例のDSPにおいてエミュ
レーションのモニタ対象とされるコア外部のI/Oレジ
スタRG1,RG2,…RGn を模式的に集約して示す。
【0039】これらのコア外部I/OレジスタRG1,R
G2,…RGn は、I/O空間にマッピングされること
で、プログラムの命令でそのレジスタ名(たとえばI01
,IO2,…,IOn)を指定してそこにデータを書き込んだ
りそこからデータを読み出せるようになっている。たと
えば、コア内部のD−MEM(データメモリ)14と各
々のコア外部I/OレジスタRGi (i=1,2,…,
n)との間で互いにデータを転送し合えるIN/OUT
命令が定義されている。
【0040】たとえば、アセンブラ言語で「IN IOi,
D(dma)」と記述される命令は、「コア外部I/Oレジ
スタRGi の内容をアドレス情報(dma)で指定され
るD−MEM10のメモリ番地に転送せよ」という意味
の命令である。また、「OUT D(dma) ,IOi 」と記
述される命令は、「アドレス情報(dma)で指定され
るD−MEM10のメモリ番地の内容をコア外部I/O
レジスタRGi に転送せよ」という意味の命令である。
【0041】このようなIN/OUT命令が実行される
とき、データはデータメモリ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 へ送られ
る。
【0042】本実施例のDSPにおいては、上記のよう
な従来より定義されている命令セットに加えて、新たに
データメモリI/Oレジスタ30と各々のコア外部I/
OレジスタRGi (i=1,2,…,n)との間で互いに
データを転送し合えるIN’/OUT’命令が定義され
ている。
【0043】たとえば、アセンブラ言語で「IN'IOi,
D(dma) 」と記述される命令は、「コア外部I/Oレジ
スタRGi の内容をデータメモリI/Oレジスタ30に
転送せよ」という意味の命令である。このIN’命令に
おいて、アドレス情報(dma)には特に意味はなく、
任意の値が可能である。また、「OUT’D(dma) ,IO
i 」と記述される命令は、「データメモリI/Oレジス
タ30の内容をコア外部I/OレジスタRGi に転送せ
よ」という意味の命令である。OUT’命令でも、アド
レス情報(dma)には特に意味がなく、任意の値が可
能である。
【0044】上記のようなIN’/OUT’命令が定義
されたことに伴い、PLA50(図2)は、IN’命令
またはOUT’命令のコードが命令レジスタ48にロー
ドされたならその命令を解読し、かつその命令に対応し
た制御信号(つまり所要のデータ転送を行うための制御
信号)を生成するように構成される。
【0045】次に、本実施例のDSPをターゲット・シ
ステムとしたときのエミュレーション時の動作について
説明する。
【0046】エミュレーションのために、P−MEM4
0に格納されるターゲット・プログラムには予め所定箇
所にブレイク・ポイントが設定される。本DSPでター
ゲット・プログラムを走らせると、途中で該ブレイク・
ポイントに当たり、そこでプログラムの実行が止まる。
この時、DSP内の各レジスタにはシステム状態ないし
各部の状態を表す情報が保持されている。
【0047】エミュレータ110は、本DSP内の各ス
キャン・パス,,,…を順次選択し、選択したス
キャン・パス上の各レジスタ(コア内部レジスタ)にテ
スト・クロックTCLOCKとスレーブ・クロックSCLOCKを供
給して、各レジスタの内容をスキャン・パス上でシリア
ルに移動させて順次本DSP(ターゲット・システム1
00)からエミュレータ側に読み出して取り込む。エミ
ュレータ110は、各スキャン・パス上にどのコア内部
レジスタがどの順番で位置しているのかを予め知ってお
り、各スキャン・パスから取り込んだ一連のシリアルデ
ータを各レジスタ毎に分離し、ブレイク・ポイントでの
各レジスタの内容(情報)をエミュレータ内のメモリに
蓄積するとともにディスプレイ112の画面に表示す
る。
【0048】次に、エミュレータ110は、スキャン・
パスを選択し、このスキャン・パス上の各レジスタ
にテスト・クロック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に転送される。
【0049】次いで、エミュレータ110は、スキャン
・パスを選択し、このスキャン・パス上の各レジス
タにテスト・クロックTCLOCKとスレーブ・クロックSCLO
CKを供給することにより、スキャン・パスを介してデ
ータメモリI/Oレジスタ30の内容(つまりコア外部
I/OレジスタRG1 の内容)を本DSPから読み出
し、取り込んだこのレジスタ情報を内部メモリに格納す
るとともにディスプレイ112の画面に表示する。
【0050】他のコア外部I/OレジスタRG2 〜RG
n の内容についても、エミュレータ110は、上記コア
外部I/OレジスタRG1 に対するのと同様にして、本
DSPにIN’命令「IN'IO2,D(dma) 」〜「IN'I
On,D(dma) 」を逐次実行させ、各レジスタ情報をD−
BUS10、データメモリI/Oレジスタ30およびス
キャン・パスを介して読み出し、内部メモリへの蓄積
と画面表示を行う。
【0051】このようにして、エミュレータ110は、
いずれのスキャン・パス上にも接続されていない各コア
外部I/OレジスタRG1 〜RGn の内容をスキャン・
パス上に接続されているデータメモリI/Oレジスタ
30を介して読み取ることができる。
【0052】さらに、エミュレータ110は、ターゲッ
ト・プログラムが中断している間、上記の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 に転送される。
【0053】本DSP内のターゲット・プログラムを再
開させるとき、エミュレータ110は、スキャン・パス
,,…を順次選択して、上記と同様のシリアル・
スキャン操作により全てのスキャン・パス上のレジスタ
にそれぞれ元の内容(ブレイク・ポイント直前のレジス
タ内容)を送り込んでから、ターゲット・プログラムに
実行を移す。
【0054】このように、本実施例によれば、エミュレ
ーションのためにターゲット・プログラムが中断してい
る間に、エミュレータ110は、スキャン・パス上に
接続されているデータメモリI/Oレジスタ30を中継
点として、いずれのスキャン・パス上にも接続されてい
ないコア外部I/OレジスタRG1 〜RGn の内容を読
み取ったり、書き換えたりすることができる。したがっ
て、カスタム設計においてこれらコア外部I/Oレジス
タRG1 〜RGn のいずれがシステム要素に採用されて
も、スキャン・パスには何の変更・追加も要らず、エミ
ュレータ110は同一のソフトウェアで対応(モニタ)
することができる。
【0055】また、コア外部I/OレジスタRG1 〜R
Gn はスキャン・パスに組み入れられることがないの
で、それらをシリアル・スキャン可能なマスタースレー
ブ型のラッチ回路からなるレジスタ構成とする必要はな
く、パラレル入出力型のレジスタ構成に固定しておくこ
とが可能であり、そのぶん回路設計も簡単になる。
【0056】上記した実施例では、スキャン・パスから
外れているコア外部I/Oレジスタに対してスキャン・
パス上の中継点にデータメモリI/Oレジスタ30を選
んだが、これは1つの例であり、他のコア内部I/Oレ
ジスタ、たとえばALUアキュムレータ(ALU-ACC) 18
a等をスキャン・パス上の中継点に選ぶことも可能であ
る。
【0057】また、上記実施例では、コア内部レジスタ
(データメモリI/Oレジスタ30)とコア外部レジス
タRG1 〜RGn との間のデータ転送はD−BUS10
を介して行われたが、C−BUS12を用いることも可
能であり、個々のシステム毎に任意の内部バスを使用す
ることができる。
【0058】また、上記実施例ではエミュレーションの
対象となるコンピュータシステムがDSPであったが、
本発明の方法はDSP以外の種々のコンピュータシステ
ムにも適用可能なものである。
【0059】
【発明の効果】以上説明したように、本発明のエミュレ
ーション時のレジスタモニタ方法によれば、コンピュー
タシステム内でスキャン・パスに属しているレジスタと
属していないレジスタとの間での所定のデータ転送命令
を設定し、このデータ転送命令とスキャン・パス操作と
を組み合わせることにより、エミュレータのソフトウェ
アを変更することなく種々のレジスタ、特にスキャン・
パスに属していない種々のレジスタをモニタすることが
可能であり、システムの設計効率を改善することができ
る。
【図面の簡単な説明】
【図1】本発明の一実施例においてエミュレーションを
受けるDSPのデータ記憶部および演算部の構成を示す
ブロック図である。
【図2】実施例においてエミュレーションを受けるDS
Pのプログラム記憶部および制御部の構成を示すブロッ
ク図である。
【図3】実施例においてエミュレーションを受けるDS
P内のコア外部I/Oレジスタを模式的に集約して示す
ブロック図である。
【図4】エミュレーションにおけるスキャン・パス方式
を示すブロック図である。
【図5】スキャン・パスに組み込まれるレジスタの構成
例を示すブロック図である。
【図6】図5のレジスタを構成するシリアル・スキャン
可能なマスタースレーブ型のラッチ回路(フリップフロ
ップ)の構成を示すブロック図である。
【符号の説明】
10 D−BUS(データバス) 12 C−BUS(データバス) 14 D−MEM(データメモリ) 16 C−MEM(係数メモリ) 18 ALU(算術論理演算ユニット) 20 MAC(積和演算器) 30 データメモリI/Oレジスタ 32 係数メモリI/Oレジスタ 40 P−MEM(プログラムメモリ) 46 プログラムメモリI/Oレジスタ 48 命令レジスタ 50 PLA 52 PLA出力レジスタ RG1 〜RGn コア外部I/Oレジスタ
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 11/22 - 11/26 G01R 31/28 JSTファイル(JOIS)

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 第1のレジスタを有する信号処理コア部
    と第2のレジスタを有する周辺回路部とを有する集積回
    路におけるエミュレータを用いたエミュレーション時の
    レジスタモニタ方法であって、 上記信号処理コア部におけるプログラムの実行を停止す
    る段階と、データのシリアル転送のためにスキャン・パスの間に上
    記信号処理コア部に属する上記第1のレジスタを上記エ
    ミュレータに接続する段階と、 上記集積回路の試験の間に、上記信号処理コア部の内部
    のプログラム実行制御回路の制御の下に、上記信号処理
    コア部の外部の上記第2のレジスタから上記信号処理コ
    ア部の内部の上記第1のレジスタにバスを介しての並列
    的なレジスタ間転送によってデータを転送する段階と、 その後、上記第1のレジスタをスキャンすることによっ
    て上記第2のレジスタの内容が上記エミュレータに読み
    出される段階とを有するエミュレーション時のレジスタ
    モニタ方法。
  2. 【請求項2】 上記プログラム実行制御回路に命令を供
    給するために、上記信号処理コア部の内部の命令レジス
    タをスキャン・パスの1つに接続する段階と、 上記スキャン・パスを介して上記命令レジスタに第1の
    データ転送命令を供給する段階とを有し、上記第1のデ
    ータ転送命令が実行されることによって上記バスを介し
    ての並列的なレジスタ間転送が行われて上記第2のレジ
    スタから上記第1のレジスタへデータが転送される請求
    項1に記載のエミュレーション時のレジスタモニタ方
    法。
  3. 【請求項3】 第1のレジスタを有する信号処理コア部
    と第2のレジスタを有する周辺回路部とを有する集積回
    路におけるエミュレータを用いたエミュレーション時の
    レジスタモニタ方法であって、 上記信号処理コア部におけるプログラムの実行を停止す
    る段階と、データのシリアル転送のためにスキャン・パスの間に上
    記信号処理コア部に属する上記第1のレジスタを上記エ
    ミュレータに接続する段階と、 上記第1のレジスタに対してスキャン・パスを介して
    ミュレータからデータをシリアルに転送する段階と、 上記集積回路の試験の間に、上記信号処理コア部の内部
    のプログラム実行制御回路の制御の下に、上記信号処理
    コア部の内部の上記第1のレジスタから上記信号処理コ
    ア部の外部の上記第2のレジスタにバスを介しての並列
    的なレジスタ間転送によってデータを転送する段階とを
    有し、それにより上記エミュレータから上記第2のレジ
    スタにデータが書き込まれるエミュレーション時のレジ
    スタモニタ方法。
  4. 【請求項4】 上記プログラム実行制御回路に命令を供
    給するために、上記信号処理コア部の内部の命令レジス
    タをスキャン・パスの1つに接続する段階と、 上記スキャン・パスを介して上記命令レジスタに第2の
    データ転送命令を供給する段階とを有し、上記第2のデ
    ータ転送命令が実行されることによって上記バスを介し
    ての並列的なレジスタ間転送が行われて上記第1のレジ
    スタから上記第2のレジスタへデータが転送される請求
    項3に記載のエミュレーション時のレジスタモニタ方
    法。
  5. 【請求項5】 上記第1のレジスタがシリアル入出力及
    びパラレル入出力可能なレジスタ構成であり、上記第2
    のレジスタがパラレル入出力型のレジスタ構成である請
    求項1、2、3又は4に記載のエミュレーション時のレ
    ジスタモニタ方法。
JP29234794A 1994-11-01 1994-11-01 エミュレーション時のレジスタモニタ方法 Expired - Lifetime JP3443694B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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