JP2020154699A - 半導体装置および半導体装置をデバッグするためのプログラム - Google Patents

半導体装置および半導体装置をデバッグするためのプログラム Download PDF

Info

Publication number
JP2020154699A
JP2020154699A JP2019052420A JP2019052420A JP2020154699A JP 2020154699 A JP2020154699 A JP 2020154699A JP 2019052420 A JP2019052420 A JP 2019052420A JP 2019052420 A JP2019052420 A JP 2019052420A JP 2020154699 A JP2020154699 A JP 2020154699A
Authority
JP
Japan
Prior art keywords
sampling
semiconductor device
sampling data
setting
circuit
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.)
Pending
Application number
JP2019052420A
Other languages
English (en)
Inventor
勉 松▲崎▼
Tsutomu Matsuzaki
勉 松▲崎▼
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2019052420A priority Critical patent/JP2020154699A/ja
Publication of JP2020154699A publication Critical patent/JP2020154699A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Tests Of Electronic Circuits (AREA)
  • Microcomputers (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

【課題】オシロスコープを使用せずに、半導体装置の端子の信号波形を確認する。【解決手段】半導体装置100は、複数の端子105と、複数のRAM106と、第1および第2のRAM制御回路203、204と、第1のRAMに接続されるプロセッサ102と、第2のRAM制御回路204に接続され、各端子105からサンプリングデータを取得するサンプリング回路202と、いずれかのRAM106をサンプリングデータの保存領域にする設定を記憶する第1のレジスタ108と、各RAM106を第1または第2のRAM制御回路203,204に選択的に接続する切換回路107とを備える。切換回路107は、第1のレジスタ108の設定に基づいて、いずれかのRAM106と第2のRAM制御回路204とを接続し、サンプリング回路202は、第2のRAM制御回路204に接続されたRAM106にサンプリングデータを保存する。【選択図】図2

Description

本開示は、半導体装置に関し、例えば、半導体装置の端子の信号の検査に好適に利用できるものである。
近年、LSI(Large Scale Integration)等の半導体装置を用いた製品が数多く製造されている。これらの半導体装置を用いたシステムボードの評価を行う際に、半導体装置の端子の信号を測定することがある。
半導体装置の端子の信号の測定には、オシロスコープが用いられることが多い。しかし、オシロスコープを用いた検査では、オシロスコープそのものの準備に加え、システムボード上にオシロスコープのプローブを接触させるための検査箇所を用意する必要がある。
半導体装置の端子の検査に関して、特開2005−077311号公報(特許文献1)は、「内部回路との間で信号の入出力を行うI/O端子と、内部状態をモニターするモニター端子とを備えた半導体集積回路装置であって、一端をI/O端子に接続し、他端をモニター端子に接続した、外部から制御可能なトランスファーゲートを備える」半導体集積回路装置を開示している([要約]参照)。
特開2005−077311号公報
特許文献1に開示された技術によると、半導体装置ができる検査はあくまでもコンタクトチェックのみであり、半導体装置は、自装置がプログラムを実行した際の各端子の信号波形を確認することができない。したがって、半導体装置がプログラムを実行した際の各端子の信号波形を簡単に確認する技術が必要とされている。
本開示は、上記のような背景に鑑みてなされたものであって、ある局面において、半導体装置でプログラムを動作させた際の半導体装置の各端子の信号波形を簡単に確認する技術を提供する。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
一実施の形態によれば、半導体装置は、RAM(Random Access Memory)と、入出力機能を持つ複数の端子と、各端子の信号をサンプリングするサンプリング回路とを備える。半導体装置は、サンプリング回路により、プログラム実行中の各端子のサンプリングデータを取得し、当該サンプリングデータをRAMに保存する。
上記の実施形態によれば、ユーザは、オシロスコープを使用せずに、システムボード上の半導体装置の端子の信号波形を確認することができる。
第1の実施の形態に従う半導体装置100の一部の構成の第1の例を示すブロック図である。 半導体装置100の一部の構成の第2の例を示すブロック図である。 サンプリング回路202の一部の構成の例を示すブロック図である。 サンプリングデータのRAM106への書き込みの様子の一例を示すブロック図である。 トリガー検出回路201の周辺回路の一例を示すブロック図である。 タイマー割り込み発生時の端子105の信号波形の一例を示す図である。 IDE(Integrated Development Environment)のUI(User Interface)の第1の例を示す図である。 IDEのUIの第2の例を示す図である。 サンプリング処理の一例を示すフローチャートである。 第2の実施の形態に従う半導体装置100の一部の構成の例を示すブロック図である。 圧縮回路1001の機能の一部の例を示すブロック図である。 サンプリングデータの圧縮の一例を示す図である。 第3の実施の形態に従う半導体装置100の一部の構成の例を示すブロック図である。 第4の実施の形態に従う半導体装置100の一部の構成の例を示すブロック図である。
以下、各実施形態について図面を参照して詳しく説明する。なお、同一または相当する部分には同一の参照符号を付して、その説明を繰り返さない。
<第1の実施形態>
図1は、第1の実施の形態に従う半導体装置100の一部の構成の第1の例を示すブロック図である。図1を参照して、半導体装置100は、通信部101と、CPU(Central Processing Unit)102と、バス103と、検査回路104と、端子105と、RAM106と、切替回路107と、レジスタ108とを備える。
通信部101は、外部のデバッガ装置110と通信する。より具体的には、通信部101は、デバッガ装置110を介して、デバッガソフトウェアのインストールされた端末120と通信する。ある局面において、端子105が通信部101として使用されてもよいし、通信部101は端子105とは独立した構成であってもよい。また、ある局面において、端末120は、PC(Personal Computer)またはタブレット端末であってもよい。また、ある局面において、半導体装置100またはデバッガソフトウェアがデバッガ装置110の機能を内蔵している場合、通信部101は端末120と直接通信してもよい。
デバッガソフトウェアは、統合開発環境(所謂、IDE)に準備されていることが一般的である。IDEは、デバッガ装置110を介して、半導体装置100にプログラムをインストールする。また、IDEは、デバッガ装置110を介して、半導体装置100にインストールしたプログラムをデバッグモードで実行させることができる。以降の説明では、IDEが端末120にインストールされているものとして説明するが、IDEとは個別にデバッガソフトウェアが端末120にインストールされていてもよい。また、IDEは、通信部101を介して、後述するRAM106に保存されたサンプリングデータを取得し、端末120のモニターにサンプリングデータの数値やグラフを表示させることができる。
CPU102は、半導体装置100のフラッシュメモリ(図示しない)等にインストールされたプログラムを実行する。CPU102は、半導体装置100の内部オシレータ又は外部の振動素子の周波数に基づいて動作する。
本実施の形態に従う半導体装置100は、内蔵タイマー機能、各種端子、通信機能および各種割り込み機能等を有する。CPU102は、プログラムを介してこれらの機能を操作することができる。これらの機能の一部は、割り込み処理により、CPU102の実行するメインルーチンとは独立して実行されてもよい。
バス103は、CPU102および周辺回路を互いに接続するためのバス回路である。本実施の形態に従う半導体装置100において、バス103は、CPU102と、後述する切替回路107とを接続する。
検査回路104は、CPU102がユーザープログラムを実行中における、複数の端子105のそれぞれの信号のサンプリングデータを取得する。検査回路は、オシロスコープのトリガーに相当するスタート信号の入力を検出して、サンプリングデータの取得を開始する。検査回路104の詳細に関しては後述する。
端子105は、半導体装置100および他の装置の間の信号の入力および出力を行う。端子105は、入力モードにおいて、他の装置から半導体装置100への信号を入力され得る。また、端子105は、出力モードにおいて、半導体装置100から他の装置に対しての信号を出力し得る。半導体装置100は、個別の端子105ごとの機能を指定するレジスタメモリを備えることが一般的である。レジスタメモリで指定できる端子105の機能は、例えば、端子105の入力および出力の切り替え、信号のHIGH/LOWの切り替え等がある。また、端子105は、UARTやI2C、ADコンバータ等の入出力ピンとして使用され得る。
半導体装置100は、複数のRAM106を内蔵している。各RAM106は、CPU102によって実行されるプログラムを保存し得る。また、各RAM106は、各種一時的なデータを記憶することもできる。また、本実施の形態に従う各RAM106は、従来の半導体装置と異なり、検査回路104が出力したデータを記憶し得る。
切替回路107は、複数のRAM106のそれぞれの接続先を切り替える。切替回路107は、複数のRAM106のそれぞれを、バス103および検査回路104のいずれか片方に接続する。
レジスタ108は、複数のRAM106のそれぞれの記憶領域を、CPU102が使用するプログラム領域又はサンプリングデータの保存領域のいずれかに決定するための設定を記憶する。
ユーザは、IDEを介して、各RAM106のそれぞれの記憶領域の設定を行ってもよい。その場合、レジスタ108は、通信部101を介して、各RAM106のそれぞれの記憶領域の設定を端末120から受信し得る。
上記の構成を備える半導体装置100は、検査回路104により、複数の端子105のそれぞれの信号のサンプリングデータを取得する。また、半導体装置100は、サンプリングデータをユーザ−プログラムの実行領域に設定されていないRAM106のいずれかに保存する。RAM106に保存されたサンプリングデータは、端末120のIDE(または、デバッガソフトウェア)により、読み出され得る。IDEは、端末120のモニターにサンプリングデータの信号波形グラフを表示してもよい。
ユーザは、IDEにより、各種サンプリングの設定をする。半導体装置100は、デバッガ装置110を介して、IDEからサンプリングの設定を受信し、当該サンプリングの設定内容に従い、サンプリング対象の端子105ごとのサンプリングデータを取得する。
サンプリングの設定は、例えば、サンプリングデータを記憶する記憶領域を指定する設定、サンプリング対象の端子105を選択する設定、サンプリング周波数の設定、および、サンプリング期間の設定等を含み得る。IDEのUIは、端子105の信号波形を取得する波形取得モードと、通常のプログラムのデバッグモードとを選択する機能を備えていてもよい。
半導体装置100が波形取得モードで動作する場合、CPU102は、半導体装置100に予めインストールされたユーザープログラムを実行する。そして、検査回路104は、CPU102とは独立して、端子105の信号をサンプリングする。検査回路104は、切替回路107を介して、RAM106のいずれかにサンプリングデータを保存する。さらに、検査回路104は、サンプリングの完了を通知するための割り込み信号を発生させる。ユーザは、IDEにより、RAM106のサンプリングデータを読み出すことにより、オシロスコープを用意することなく、サンプリングデータを入手し、半導体装置100の実装されたシステムボードの評価を容易に行うことが可能となる。
図2は、半導体装置100の一部の構成の第2の例を示すブロック図である。図2は、検査回路104の主要な機能をより詳細に表している。
本実施の形態に従う半導体装置100は、ユーザープログラムを実行する構成に加えて、検査回路104の主要な機能として、トリガー検出回路201と、サンプリング回路202と、RAM制御回路204と、切替回路107と、レジスタ108とを備える。また、半導体装置100は、複数のRAM106A,106B(総称する場合は、「RAM106」と呼ぶ)を備える。図2に示される例では、RAM106の数は2であるが、RAM106の数はこれに限られない。他の局面において、半導体装置100は、3以上のRAM106を備えていてもよい。
図2に示す例では、CPU102は、RAM制御回路203を介してRAM106にデータを入出力する。CPU102は、IDEによりインストールされたユーザープログラムを実行する場合においても、バス103およびRAM制御回路203を介していずれかのRAM106に記憶されるユーザープログラムを参照する。
トリガー検出回路201は、サンプリングを開始するタイミング(所謂、トリガー)を検出する。ユーザは、IDEを介して、トリガー検出回路201にサンプリングのトリガーおよびトリガーの検出回数を設定し得る。例えば、特定の端子105の信号の立ち上がりエッジ等がサンプリングのトリガーとなり得る。トリガー検出回路201は、設定された回数のトリガーを検出すると、サンプリング回路202にサンプリングを開始させるためのスタート信号を出力する。例えば、トリガー検出回路201は、特定の端子105の立ち上がりエッジを3回検出したことに基づいてサンプリング回路202にスタート信号を出力してもよいし、半導体装置100のタイマー割り込みを1回検出したことに基づいてサンプリング回路202にスタート信号を出力してもよい。
サンプリング回路202は、CPU102とは独立して動作する。IDEが半導体装置100の動作モードを波形取得モードに設定すると、サンプリング回路202は、定期的に、CPU102がユーザープログラムを実行中における端子105の信号のサンプリングデータを取得する。本実施の形態において、定期的とは、例えば、半導体装置100または他の振動素子のクロック周波数に基づいて生成されるサンプリング周波数の周期ごとであってもよい。サンプリング回路202は、トリガー検出回路201に設定されたトリガーを検出したタイミング以降のサンプリングデータをRAM106のいずれかに保存する。IDEは、通信部101を介して、RAM106に保存されたサンプリングデータを取得し得る。
また、トリガー検出回路201にトリガーが設定されていない場合、サンプリング回路202は、波形取得モードに移行後、IDEから停止命令を受信するまでサンプリングを続ける。そして、サンプリング回路202は、サンプリングデータの記憶領域に空きが無くなった場合、既にサンプリングデータが保存されている記憶領域に、新しいサンプリングデータを上書きしてもよい。
サンプリング回路202は、RAM制御回路204を介してRAM106にサンプリングデータを保存する。切替回路107は、サンプリング回路202がRAM106にサンプリングデータを保存するとき、サンプリングデータの保存先に設定されたRAM106をRAM制御回路204に接続する。同様に、切替回路107は、CPU102がRAM106との間でデータの書き込みまたは読み出しを行うとき、ユーザープログラムの実行領域に設定されたRAM106をRAM制御回路203に接続する。
サンプリング回路202は、サンプリングを完了すると、サンプリングの完了を通知するための割り込み信号を発生する。当該割り込み信号は、CPU102または通信部101に入力される。CPU102または通信部101は、割り込み信号に基づいて、IDEにサンプリングの完了を通知し得る。その場合、サンプリング回路202は、CPU102または通信部101に割り込み信号を出力する接続線を介して接続されてもよい。
サンプリング回路202は、ユーザ−プログラムの実行領域に設定されたRAM106とは異なるRAM106にサンプリングデータを保存する。例えば、CPU102は、RAM106Aをユーザ−プログラムの実行領域として使用し、サンプリング回路202は、RAM106Bをサンプリングデータの記憶領域として使用し得る。そうすることで、RAM106内のユーザープログラムの記憶領域と、サンプリングデータの記憶領域とが明確に分離される。その結果、半導体装置100は、プログラミングミス等の原因でサンプリングデータおよびユーザープログラムの記憶領域が重複する等の不測の事態を防ぐことができる。
図3は、サンプリング回路202の一部の構成の例を示すブロック図である。図3を参照して、サンプリング回路202は、レジスタ301,304,309と、分周回路302,303と、バッファ305と、選択回路306と、シリアルパラレル変換回路307と、カウンタ308と、第1の信号生成回路310と、第2の信号生成回路311とを備える。
サンプリング回路202は、半導体装置100で使用されるクロックの入力を受け付ける。当該クロックは、ベースクロックとなる。当該ベースクロックまたはベースクロックを分周したクロックに基づき、端子105の信号をサンプリングする。ある局面において、ベースクロックは、半導体装置100の最高周波数クロックでもよいし、半導体装置100の最高周波数クロックを予め分周して得られたたクロックがサンプリング回路202に入力されてもよい。
分周回路302,303は、入力されたベースクロックを分周する。分周回路302,303で分周された周波数が、所謂、サンプリングクロックである。サンプリング回路202は、サンプリングクロックの周期に併せて端子105の信号のサンプリングデータを取得する。
レジスタ301は、分周回路302,303の分周の設定を記憶する。レジスタ301は、通信部101を介して、IDEから分周回路302,303の分周の設定を受信し得る。分周回路302,303は、レジスタ301の設定に基づいて、ベースクロックを分周する。
レジスタ304は、サンプリング対象となる端子105を選択する設定を記憶する。レジスタ304は、通信部101を介して、IDEからサンプリング対象となる端子105の設定を受信し得る。
バッファ305は、フリップフロップ回路であり、サンプリングクロックのタイミングで、各端子105の信号を一時的に取得する。
選択回路306は、バッファ305に一時的に記憶された端子105の信号が、レジスタ304の設定に一致したことに基づいて(サンプリング対象の信号を検出したことに基づいて)、波形一致信号を出力する。波形一致信号は、スタート信号と共に第2の信号生成回路311に入力される。波形一致信号およびスタート信号のいずれか片方が発生したことに基づいて、選択回路306は、バッファ305に記憶された信号の情報を、RAM制御回路204に送信する。
シリアルパラレル変換回路307は、取得した信号をパラレルデータに変換し、RAM制御回路204に当該パラレルデータを送信する。カウンタ308は、波形一致信号およびスタート信号のいずれか片方を検出したことに基づいて、信号取得時のタイムスタンプを生成し、RAM制御回路204に送信する。なお、カウンタ308は、波形一致信号またはスタート信号の発生時を基準としたタイムスタンプを生成してもよい。
レジスタ309は、複数の端子105の信号波形の組み合わせを設定され得る。サンプリング回路202は、レジスタ309に設定されている複数の端子105の信号波形の組み合わせを検出したことをトリガーとして、サンプリングデータのRAM106への保存を開始する。
第1の信号生成回路310は、レジスタ309の設定およびスタート信号に基づいて、分周回路302,303に分周開始信号を出力する。分周開始信号は、分周回路302,303に分周を開始させるための信号である。分周回路302,303は、分周開始信号の入力に応答して分周を開始する。例えば、第1の信号生成回路310から分周回路302,303にHIGHの信号が出力されたことに基づいて、分周回路302,303は分周を開始してもよい。
第2の信号生成回路311は、スタート信号および波形一致信号に基づいて、カウンタ308にカウント開始信号を出力する。カウント開始信号は、カウンタ308にカウントを開始させるための信号である。カウンタ308は、カウント開始信号の入力に応答して、カウントを開始する。例えば、第2の信号生成回路311からカウンタ308にHIGHの信号が出力されたことに基づいて、カウンタ308はカウントを開始してもよい。
ある局面において、第1の信号生成回路310および第2の信号生成回路311は、AND回路やOR回路等の任意の論理回路であってもよいし、これらの論理回路を組み合わせたものであってもよい。
図4は、サンプリングデータのRAM106への保存の様子の一例を示すブロック図である。図4を参照して、RAM制御回路204は、データ生成部404と、アドレスデコーダ405とを含む。
データ生成部404は、シリアルパラレル変換回路307からパラレルデータ401を受信し、カウンタ308からパラレルデータ401に対応するタイムスタンプを受信する。データ生成部404は、受信したパラレルデータ401およびタイムスタンプからRAM106に保存する形式のサンプリングデータを生成する。同時に、アドレスデコーダ405は、サンプリングデータを保存するRAM106内のアドレスを生成する。
切替回路107は、サンプリング回路202から、RAM制御回路204への切替信号を受信したことに基づいて、RAM制御回路204と、RAM106とを接続する。そうでない場合は、切替回路107は、RAM制御回路203と、RAM106とを互いに接続する。
RAM制御回路204は、アドレスデコーダ405が生成したアドレスに基づいて、サンプリングデータをRAM106のいずれかに書き込む。RAM106に保存されるサンプリングデータは、サンプリング対象の端子のHIGH/LOWの情報と、サンプリング周期に基づいてサンプリング対象の端子の信号をサンプリングしたときのタイムスタンプとを含む。
図5は、トリガー検出回路201の周辺回路の一例を示すブロック図である。トリガー検出回路201は、サンプリングを開始するためのトリガーとなる信号を検出する。
レジスタ501は、トリガー検出回路201が検出するトリガーの設定を記憶する。レジスタ501は、通信部101を介して、IDEからトリガーの設定を受信してもよい。ここでのトリガーとは、端子105の信号の変化、複数の端子105の信号の組み合わせパターンおよび半導体装置100内で発生する割り込み信号を含み得る。
端子105の信号の変化は、信号レベルのLOWからHIGHへの変化(信号の立ち上がり)および信号レベルのHIGHからLOWへの変化(信号の立ち下がり)の2通り存在する。
例えば、ユーザは、半導体装置100が実装されたテストボードにおいて、端子105Aの立ち下がりをトリガーとして、端子105A,105B,105Cの各信号のサンプリングデータを確認したいとする。この場合、ユーザは、IDEにより、レジスタ304にサンプリング対象として「端子105A,105B,105C」を設定し、レジスタ501にトリガーとして「端子105Aの立ち下がり」を設定することで、必要なサンプリングデータを取得できる。
オシロスコープで同様の計測をする場合、ユーザは、複数のプローブをシステムボード上に接触させる必要がある。また、オシロスコープのプローブ数は多くとも4本程度であるため、多数の端子105の信号のサンプリングデータを取得することができない。これに対して、本実施の形態に従う半導体装置100は、RAM106に空きがある限り、多数の端子105の信号のサンプリングデータを取得することができる。
複数の端子105の信号の組み合わせパターンは、複数の端子105の信号レベル(HIGH/LOW)の組み合わせを意味する。例えば、ユーザは、半導体装置100が実装されたテストボードにおいて、端子105A,105Bの各信号の同期がとれているか否か、又は、端子105A,105Bの信号の立ち下がりタイミングの誤差は許容範囲であるか否かを確認したいとする。
この場合、ユーザは、IDEにより、レジスタ304にサンプリング対象として「端子105A,105B」を設定し、レジスタ501にトリガーとして「波形の組み合わせ(端子105Aの信号(LOW),端子105Bの信号(LOW)」を設定することで必要な端子105A,105Bのそれぞれのサンプリングデータを取得できる。
オシロスコープで同様の計測をする場合、通常、ユーザは特定の端子105の信号にのみトリガーを設定することになる。そのため、3本以上の端子105の信号の組み合わせを検出することは困難である。これに対して、本実施の形態に従う半導体装置100は、RAM106に空きがある限り、多数の端子105の信号の組み合わせパターンを検出できる。
半導体装置100内で発生する割り込み信号は、例えば、タイマー割り込みや通信割り込みを含む。一例として、ユーザは、半導体装置100が実装されたテストボードにおいて、半導体装置100のタイマー割り込み機能により、端子105A,105Bから正しいパルスが出力されているか否かを確認したいとする。
この場合、ユーザは、IDEにより、レジスタ304にサンプリング対象として「端子105A,105B」を設定し、レジスタ501にトリガーとして「タイマー割り込み」を設定することで必要なサンプリングデータを取得できる。ある局面において、半導体装置100が複数のタイマーおよびタイマー割り込み設定機能を備えている場合、レジスタ501の設定は、タイマー情報および割り込み情報の詳細を含んでもよい。
また、同様に、ユーザは、半導体装置100が実装されたテストボードにおいて、半導体装置100のI2C通信の発生時の端子105A,105Bの信号波形を確認したいとする。この場合、ユーザは、デバッガソフトウェアにより、レジスタ304にサンプリング対象として「端子105A,105B」を設定し、レジスタ501にトリガーとして「I2C通信割り込み」を設定することで必要なサンプリングデータを取得できる。
オシロスコープは、半導体装置100内で発生する割り込み信号は検出できない。そのため、オシロスコープで同様の計測をする場合、ユーザは、テスト用のプログラム等を別途作成する必要がある。例えば、テスト用のプログラムは、タイマー割り込みが発生したことを確認するための信号を端子105Cに出力させる等の処理を含む。これに対して、本実施の形態に従う半導体装置100は、半導体装置100内で発生する割り込み信号そのものをトリガーとして、任意の端子105のサンプリングデータを取得することができる。
トリガーカウンタ502は、トリガー検出回路201がトリガーを検出した回数をカウントする。トリガーカウンタ502は、レジスタ501によって設定された回数のトリガーをカウントすると、スタート信号を出力する。レジスタ501は、通信部101を介して、IDEからトリガーの検出回数の設定を受信してもよい。
トリガーカウンタ502が出力するスタート信号は、図2でトリガー検出回路201からサンプリング回路202に出力するスタート信号に対応する。ある局面において、トリガー検出回路201は、トリガーカウンタ502を含んでいてもよい。
図6は、タイマー割り込み発生時の端子105の信号波形の一例を示す図である。図6に示す例では、半導体装置100のタイマーのカウンタ値(以下、単に「カウンタ値」と呼ぶ)601と、端子の波形602との変化を表している。
半導体装置100は、装置内部にタイマーカウンタを含み、タイマーカウンタによってカウンタ値を順次カウントアップしていく。そして、カウンタ値が、予め定められたトグル値603およびトグル値604のいずれかと一致した場合に割り込み信号(以下「コンペアマッチ割り込み」という)が発生する。
図6に示す例では、カウンタ値がトグル値604と一致した場合、端子105Bの信号606が反転する(HIGH/LOWが切り替わる)。同様に、カウンタ値がトグル値603と一致した場合、端子105Aの信号605が反転し、同時に、カウンタ値もリセットされる。
ユーザは、このようなタイマー割り込みによって変化する端子の波形602を観測したい場合、IDEを介して、トリガーとしてタイマー割り込みをレジスタ501に設定することができる。そうすることで、ユーザは、オシロスコープを用意することなく、IDEにより、半導体装置100内で発生した割り込み信号をトリガーとして、任意の端子105の信号の変化を観測し得る。
図7は、IDEのUIの第1の例を示す図である。図7を参照して、IDEのUIは、ダイアログ701,702,703を含む。なお、ある局面において、全てのダイアログの機能は、単一のウィンドウ内に纏められていてもよい。また、ある局面において、全ての機能は、コマンドラインにて設定できてもよい。
ダイアログ701は、サンプリング周期の設定を受け付けるための領域704と、使用メモリ領域の設定を受け付けるための領域705と、サンプリング対象の端子105の設定を受け付けるための領域706と、トリガーの設定を受け付けるための領域707と、トリガーの検出回数の設定を受け付けるための領域708と、STARTボタン709と、CANCELボタン710とを備える。
領域704は、端子105の信号のサンプリング間隔の入力あるいは選択を受け付ける。例えば、サンプリング周期が「50ns」と設定されている場合、サンプリング回路202は、設定されたサンプリング周期に基づいて、50ナノ秒ごとに、端子105の信号を一度サンプリングする。
領域705は、サンプリングデータを保存するための記憶領域の指定を受け付ける。当該記憶領域の設定は、レジスタ108に保存される。
領域706は、ダイアログ702を呼び出すボタンである。本実施の形態においては、領域706は、ダイアログ702を呼び出すボタンであるが、本実施の形態におけるIDEのUIはこれに限られない。ダイアログ701は、ダイアログ702の機能を含んでいてもよい。
領域707は、サンプリング回路202にサンプリングを開始させるトリガーの設定を受け付ける。トリガーは、例えば、タイマー割り込み、通信割り込み、外部割り込みおよび信号波形(パターンマッチ)割り込みの少なくともいずれかを含む。
また、領域707にトリガーが設定されていない場合、サンプリング回路202は、波形取得モードに移行後、サンプリングデータの取得を続けてもよい。そして、サンプリング回路202は、RAM106のサンプリングデータの記憶領域に空きがなくなった場合、すでにサンプリングデータが保存された記憶領域に、新しいサンプリングデータを上書きしてもよい。この場合、IDEが、ストップ信号を出力させるためのコマンドを半導体装置100に送信したことに基づいて、サンプリング回路202は、サンプリングデータの取得を停止し得る。ユーザは、ストップ信号で停止した時点での最新のサンプリングデータの波形グラフを確認することができる。
領域708は、トリガーの検出回数の設定を受け付ける。例えば、領域708にて「3回」が入力された場合、トリガー検出回路201は、トリガーを3回検出すると、スタート信号を出力する。
IDEは、STARTボタン709を押されることにより、デバッガ装置110を介して、各領域で設定された内容を半導体装置100に送信する。半導体装置100は、受信した設定に基づいて、サンプリングデータの取得を開始する。なお、IDEは、CANCELボタン710の押下を検出すると、各ダイアログの設定を終了してもよいし、半導体装置100にストップ信号を出力させるコマンドを半導体装置100に送信してもよい。
ダイアログ702は、サンプリングの対象になる端子105の選択を可能にする。ダイアログ703は、半導体装置100により取得されたサンプリングデータをグラフとして表示する。IDEは、半導体装置100によるサンプリングデータの取得の完了後、サンプリングデータを取得してダイアログ703を表示してもよい。また、IDEは、サンプリングデータを数値で表示してもよいし、CSV(Comma-Separated Value)形式等で端末120に保存できるようにしてもよい。
図8は、IDEのUIの第2の例を示す図である。図8に示す例では、領域707にて「パターンマッチ」が設定されている。IDEは、領域707にて「パターンマッチ」が設定されている場合、ダイアログ801を表示してもよい。また、ダイアログ701は、波形パターンを設定するためのダイアログ801を呼び出すボタン等を含んでいてもよい。
ダイアログ801は、ダイアログ702にて選択された端子の信号のパターンを設定し得る。例えば、ユーザは、ダイアログ801にて、端子105「P11」の信号が「LOW」、かつ、端子105「P12」の信号が「HIGH」となる波形パターン等を設定し得る。
なお、図7および図8の各ダイアログで設定された全ての内容は、端末120の記憶媒体に保存され、後でIDEに再読み込みされて使用されてもよい。ユーザは、IDEを介して、一度作成したサンプリングの設定を端末120の記憶媒体に保存し得る。また、ユーザは、IDEを介して、端末120の記憶媒体に保存された設定をIDEに読み出させ、読み出された設定を半導体装置100に送信し得る。これにより、ユーザは、同じ設定を流用して半導体装置100をテストすることができる。
図9は、サンプリング処理の一例を示すフローチャートである。ステップS910において、半導体装置100は、IDEからRAM106の記憶領域、波形取得対象の端子およびトリガー等の任意の各種設定を受信する。
ステップS920において、半導体装置100は、IDEからのコマンドにより、予めインストールされているユーザープログラムを実行する。半導体装置100は、併せて、ステップS910にて受信した設定に基づいて、波形取得モードに移行し、サンプリングデータの取得を開始する。
ステップS930において、半導体装置100は、サンプリング回路202にて取得したサンプリングデータをRAM106に保存する。半導体装置100は、トリガーおよびトリガーの検出回数が設定されている場合は、設定された検出回数のトリガーを検出したことに基づいて、サンプリングデータの取得を行う。トリガーが設定されていない場合、半導体装置100は、即座にサンプリングデータの取得を開始し、デバッガソフトウェアからのコマンドにより、ストップ信号の発生を検出するまでサンプリングデータの取得を続ける。なお、半導体装置100は、RAM106のサンプリングデータの記憶領域に空きがない場合、すでにサンプリングデータが保存された記憶領域に、新しいサンプリングデータを上書きしてもよい。
ステップS940において、半導体装置100は、サンプリングデータの取得の完了通知をデバッガ装置110に送信する。IDEは、デバッガ装置110を介して完了通知を受信する。IDEは、完了通知の受信後に、半導体装置100にサンプリングデータの取得要求を送信し、半導体装置100からRAM106に保存されたサンプリングデータを受信する。
ステップS950において、IDEは、ボタンの押下やコマンド入力等のユーザの操作により、サンプリングデータの波形表示の指示の入力を受け付ける。ステップS960において、IDEは、端末120のモニターに受信したサンプリングデータの波形グラフを表示する。ある局面において、IDEは、半導体装置100からサンプリングデータを取得した時点で、自動的に端末120のモニターに波形グラフを表示してもよい。
以上説明したように、本実施の形態に係る半導体装置100によれば、ユーザは、オシロスコープを使用せずに、半導体装置100が実装されたテストボードの評価を行うことを可能にする。また、半導体装置100は、各RAM106を個別にユーザープログラムの実行領域およびサンプリングデータの記憶領域のいずれかに設定することで、プログラミングミス等の原因でサンプリングデータおよびユーザープログラムの使用領域が重複する等の不測の事態を防ぐことができる。
<第2の実施形態>
次に、第2の実施の形態に従う半導体装置1000について説明する。第2の実施の形態に従う半導体装置1000は、サンプリングデータの圧縮機能を備える点で、第1の実施の形態に従う半導体装置100とは異なる。なお、前述の実施の形態で示された構成と同じ構成には同じ符号が付してある。したがって、同じ構成の説明は繰り返さない。
図10は、第2の実施の形態に従う半導体装置1000の一部の構成の例を示すブロック図である。図10を参照して、半導体装置1000は、図2の回路構成に加えて、圧縮回路1001を備える。
圧縮回路1001は、サンプリング回路202からパラレル化したサンプリングデータと、サンプリングデータに関連付けられたタイムスタンプとを受信する。圧縮回路1001は、サンプリング対象である端子105に変化がない期間のサンプリングデータを圧縮し、RAM制御回路204に送信する。圧縮処理の詳細は後述する。
図11は、圧縮回路1001の機能の一部の例を示すブロック図である。圧縮回路1001は、バッファ1102と、判定回路1103とを含む。
バッファ1102は、サンプリング回路202から取得した連続するタイムスタンプ「n−1」およびタイムスタンプ「n」と、各タイムスタンプに関連付けられたパラレル化されたサンプリングデータとを格納する。
判定回路1103は、バッファ1102に保存されたデータをRAM106に保存するか否かを判定する。判定回路1103は、タイムスタンプ「n−1」およびタイムスタンプ「n」のそれぞれのサンプリングデータを比較し、各サンプリングデータが異なる場合、タイムスタンプ「n」のサンプリングデータをRAM制御回路204に送信する。また、例外として、判定回路1103は、必ずタイムスタンプ「0」のサンプリングデータをRAM制御回路204に送信する。なお、ここでのサンプリングデータの変化とは、サンプリング対象である端子105の信号の「HIGH/LOW」の変化を意味する。
図12は、サンプリングデータの圧縮の一例を示す図である。図12に示す例では、サンプリング回路202は、端子105「P00,P01,P02,P03」のそれぞれの信号のサンプリングデータを取得している。
信号波形1201は、各端子105の信号の変化を時系列に表示したものである。タイムスタンプは、サンプリング回路202のサンプリングの開始時を基準として、カウンタ308により生成される。
データ1202は、信号波形1201をデータ化したものである。データ1202は、タイムスタンプごとに、各端子105の信号「H/L(HIGH/LOW)」を関連付けてある。なお、各端子105の「H/L」は、バイナリデータ「1/0」として表現されてもよい。同様に、タイムスタンプも、任意のビット数のバイナリデータとして表現されてもよい。
圧縮データ1203は、データ1202が圧縮回路1001によって圧縮されたデータである。例えば、データ1202の期間1210の各端子105のそれぞれの信号は常に「L,H,H,L」となっている。つまり、タイムスタンプ「00」〜「04」の期間は、各端子105のそれぞれの信号は変化しないことがわかる。この場合、期間1210の各端子105のそれぞれの信号のサンプリングデータは、圧縮されてデータ1230になる。データ1230は、各端子105のそれぞれの信号が変化しない期間の先頭のタイムスタンプおよび各端子105のそれぞれの信号を対応付けたデータである。
同様に、データ1202の期間1220の各端子105のそれぞれの信号は常に「H,H,L,L」となっている。つまり、タイムスタンプ「05」〜「09」の期間は、各端子105のそれぞれの信号は変化しないことがわかる。この場合、期間1220の各端子105のそれぞれの信号のサンプリングデータは、圧縮されてデータ1240になる。
以下同様に、データ1202は、圧縮回路1001により、各端子105のそれぞれの信号が変化しない期間をひとまとまりとして圧縮される。よって、最終的に、RAM106に保存されるサンプリングデータは、タイムスタンプ「0」のサンプリングデータと、サンプリング対象の端子の信号のHIGH/LOWが切り替わるタイミングにおけるサンプリングデータとのみになる。
以上説明したように、半導体装置1000は、圧縮回路1001により、サンプリングデータを圧縮するため、RAM106により多くのサンプリングデータを格納することができる。
<第3の実施形態>
次に、図13を参照して、第3の実施の形態に従う半導体装置1300について説明する。第3の実施の形態に従う半導体装置1300は、CPU102およびサンプリング回路202が共通のRAM制御回路203を介して同一のRAM106にアクセスする点で、前述の半導体装置100,1000とは異なる。なお、前述の実施の形態で示された構成と同じ構成には同じ符号が付してある。したがって、同じ構成の説明は繰り返さない。
図13は、第3の実施の形態に従う半導体装置1300の一部の構成の例を示すブロック図である。図13に示す例では、CPU102およびサンプリング回路202は、いずれもバス103およびRAM制御回路203を介して同一のRAM106にデータの保存を行う。サンプリング回路202またはRAM制御回路204は、切替回路107の代わりにレジスタ108を参照して、RAM106にデータを保存する処理を行ってもよい。
上記の構成とすることで、RAM106に接続されるバスの電気的な切り替えが発生しなくなる。また、CPU102と、サンプリング回路202とは、共通の記憶領域を使用することができ、RAM106の記憶領域の設定の自由度が向上する。
<第4の実施形態>
図14は、第4の実施の形態に従う半導体装置1400の一部の構成の例を示すブロック図である。第4の実施の形態に従う半導体装置1400は、第1〜第3の実施の形態における半導体装置1400の構成を組み合わせたものとなる。
図14に示す例では、サンプリング回路202は、CPU102と同一のバス103を経由する経路と、バス103を経由しない経路とのいずれか片方を介してRAM106にサンプリングデータを保存することができる。ユーザは、IDEにより、サンプリングデータのRAM106への書き込み経路として、バス103を経由する経路およびバス103を経由しない経路のいずれかを選択し得る。また、RAM106は、非圧縮のサンプリングデータおよび圧縮されたサンプリングデータのいずれかを記憶し得る。
上記の構成とすることで、ユーザは、サンプリングデータの書き込み経路として、安全性が高い経路およびRAM106の記憶領域の割り当ての自由度が高い経路のいずれかを用途に合わせて柔軟に選択することができる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は上記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
100,1000,1300,1400 半導体装置、101 通信部、103 バス、104 検査回路、105,105A,105B,105C 端子、106,106A,106B RAM、107 切替回路、108 レジスタ、110 デバッガ装置、120 端末、201 トリガー検出回路、202 サンプリング回路、203,204 RAM制御回路、301 レジスタ、302,303 分周回路、304 レジスタ、305 バッファ、306 選択回路、307 シリアルパラレル変換回路、308 カウンタ、309 レジスタ、310 第1の信号生成回路、311 第2の信号生成回路、401 パラレルデータ、501 レジスタ、502 トリガーカウンタ、701,702,703,801 ダイアログ、704,705,706,707,708 領域、709 STARTボタン、710 CANCELボタン、1001 圧縮回路、1102 バッファ、1103 判定回路、1201 信号波形。

Claims (18)

  1. 半導体装置であって、
    信号を入力および出力するための複数の端子と、
    プログラムおよびデータを記憶するための複数のメモリと、
    前記複数のメモリにデータを読み書きするための第1のRAM(Random Access Memory)制御回路および第2のRAM制御回路と、
    前記第1のRAM制御回路に接続され、前記プログラムを実行するプロセッサと、
    前記第2のRAM制御回路に接続され、前記複数の端子の各信号のサンプリングデータを取得するサンプリング回路と、
    前記複数のメモリのいずれかをサンプリングデータの保存領域にする設定を記憶するための第1のレジスタと、
    前記複数のメモリのいずれかを前記第1のRAM制御回路または前記第2のRAM制御回路に選択的に接続する切換回路とを備え、
    前記切換回路は、前記第1のレジスタの設定に基づいて、サンプリングデータの保存領域に設定されたメモリと前記第2のRAM制御回路とを接続し、
    前記サンプリング回路は、前記第2のRAM制御回路および前記切換回路を介して、サンプリングデータを前記サンプリングデータの保存領域に設定されたメモリに保存する、半導体装置。
  2. 前記サンプリング回路は、
    前記プロセッサが前記プログラムを実行中に、サンプリングデータを取得し、
    前記切換回路により前記サンプリングデータの保存領域に設定されたメモリと前記第2のRAM制御回路とが接続されたことに基づいて、前記サンプリングデータの保存領域に設定されたメモリにサンプリングデータを書き込む、請求項1に記載の半導体装置。
  3. 情報処理装置と通信するための通信部をさらに備え、
    前記通信部は、
    サンプリング処理のコマンドを前記情報処理装置から受信し、
    サンプリングデータを前記情報処理装置に送信する、請求項2に記載の半導体装置。
  4. 前記複数の端子の中から、サンプリング対象となる端子を選択する設定を記憶する第2のレジスタをさらに備え、
    前記サンプリング回路は、前記第2のレジスタの設定に基づいて、前記複数の端子の中からサンプリングデータを取得する端子を選択する、請求項3に記載の半導体装置。
  5. サンプリングのトリガーの設定を記憶する第3のレジスタをさらに備え、
    前記サンプリング回路は、前記第3のレジスタに記憶される設定に対応する信号を検出したタイミング以降のサンプリングデータを前記サンプリングデータの保存領域に設定されたメモリに保存する、請求項4に記載の半導体装置。
  6. 前記サンプリング回路は、前記第3のレジスタの設定に基づいて、前記半導体装置のタイマー割り込み信号をトリガーとして検出する、請求項5に記載の半導体装置。
  7. 前記サンプリング回路は、前記第3のレジスタの設定に基づいて、前記複数の端子の信号のHIGH/LOWの組み合わせをトリガーとして検出する、請求項5に記載の半導体装置。
  8. 前記サンプリング回路は、
    前記第3のレジスタにトリガーの設定が記憶されていないことに基づいて、前記通信部を介して前記情報処理装置からサンプリング停止のコマンドを受信するまで、サンプリングデータの取得を継続し、
    前記サンプリングデータの保存領域に空きが無くなると、新しいサンプリングデータを他のサンプリングデータが書き込まれた保存領域に上書きする、請求項5に記載の半導体装置。
  9. 前記通信部は、前記第1〜第3のレジスタの設定に加えて、サンプリング周期の設定を前記情報処理装置から取得する、請求項5に記載の半導体装置。
  10. 前記サンプリング回路は、サンプリング対象の端子の信号のサンプリングデータを一定周期で取得し、
    サンプリングデータは、サンプリング対象の端子のHIGH/LOWの情報と、前記サンプリング対象の端子の信号をサンプリングしたときのタイムスタンプとを含み、
    前記サンプリングデータの保存領域に設定されたメモリは、前記サンプリング対象の端子の前記一定周期ごとのサンプリングデータを記憶する、請求項1に記載の半導体装置。
  11. 前記サンプリング回路は、サンプリング対象の端子の信号のサンプリングデータを一定周期で取得し、
    サンプリングデータは、サンプリング対象の端子のHIGH/LOWの情報と、前記サンプリング対象の端子の信号をサンプリングしたときのタイムスタンプとを含み、
    前記サンプリングデータの保存領域に設定されたメモリは、前記サンプリング回路が取得したサンプリングデータに含まれる前記サンプリング対象の端子の信号のHIGH/LOWが切り替わるタイミングのサンプリングデータを記憶する、請求項1に記載の半導体装置。
  12. 前記プロセッサは、前記通信部を介して、前記サンプリングデータの保存領域に設定されたメモリに書き込まれたサンプリングデータを前記情報処理装置に送信する、請求項3に記載の半導体装置。
  13. 半導体装置であって、
    信号を入力および出力するための複数の端子と、
    複数の記憶領域を含み、プログラムを記憶するためのメモリと、
    前記プログラムを実行するプロセッサと、
    前記複数の端子のそれぞれの信号のサンプリングデータを取得するサンプリング回路と、
    前記プロセッサと、前記サンプリング回路と、前記メモリとが接続されるバスと、
    前記複数の記憶領域の一部をサンプリングデータの保存領域にする設定を記憶するための第1のレジスタとを備え、
    前記サンプリング回路は、
    割り込み信号を発生させることにより前記プロセッサによる前記バスを介しての前記メモリへの読み書きを停止させ、
    前記第1のレジスタの設定に基づいて、サンプリングデータを前記メモリに保存する、半導体装置。
  14. 半導体装置をデバッグするためにコンピュータで実行されるプログラムであって、前記プログラムは前記コンピュータに、
    前記半導体装置が備える複数の端子の中からサンプリングデータの取得対象になる端子を選択するための第1の設定の入力を受け付けるステップと、
    サンプリングのトリガーを設定する第2の設定の入力を受け付けるステップと、
    サンプリング周期を設定する第3の設定の入力を受け付けるステップと、
    前記半導体装置が備える複数のメモリのいずれかをサンプリングデータの保存領域に設定する第4の設定との入力を受け付けるステップと、
    前記第1の設定を前記半導体装置に送信するステップと、
    前記第2の設定を前記半導体装置に送信するステップと、
    前記第3の設定を前記半導体装置に送信するステップと、
    前記第4の設定を前記半導体装置に送信するステップと、
    前記半導体装置の備える前記メモリに保存されたサンプリングデータを取得するステップとを、実行させる、プログラム。
  15. 前記メモリに保存されたサンプリングデータは、前記コンピュータが、前記第3の設定に基づいて、前記半導体装置のタイマー割り込み信号をトリガーとして検出して取得したサンプリングデータである、請求項14に記載のプログラム。
  16. サンプリングデータの保存領域に設定されたメモリに保存されたサンプリングデータは、前記コンピュータが、前記第3の設定に基づいて、前記複数の端子の信号のHIGH/LOWの組み合わせをトリガーとして検出して取得したサンプリングデータである、請求項14に記載のプログラム。
  17. 前記第1の設定を前記コンピュータのメモリに保存するステップと、
    前記第2の設定を前記コンピュータのメモリに保存するステップと、
    前記第3の設定を前記コンピュータのメモリに保存するステップと、
    前記第4の設定を前記コンピュータのメモリに保存するステップと、
    前記コンピュータのメモリから前記第1の設定を読み出して、読み出された前記第1の設定を前記半導体装置に送信するステップと、
    前記コンピュータのメモリから前記第2の設定を読み出して、読み出された前記第2の設定を前記半導体装置に送信するステップと、
    前記コンピュータのメモリから前記第3の設定を読み出して、読み出された前記第3の設定を前記半導体装置に送信するステップと、
    前記コンピュータのメモリから前記第4の設定を読み出して、読み出された前記第4の設定を前記半導体装置に送信するステップとを、前記コンピュータにさらに実行させる、請求項14に記載のプログラム。
  18. 前記半導体装置から受信したサンプリングデータを基に、前記コンピュータのモニターに表示する波形グラフを生成するステップを、前記コンピュータにさらに実行させる、請求項14に記載のプログラム。
JP2019052420A 2019-03-20 2019-03-20 半導体装置および半導体装置をデバッグするためのプログラム Pending JP2020154699A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019052420A JP2020154699A (ja) 2019-03-20 2019-03-20 半導体装置および半導体装置をデバッグするためのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019052420A JP2020154699A (ja) 2019-03-20 2019-03-20 半導体装置および半導体装置をデバッグするためのプログラム

Publications (1)

Publication Number Publication Date
JP2020154699A true JP2020154699A (ja) 2020-09-24

Family

ID=72559160

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019052420A Pending JP2020154699A (ja) 2019-03-20 2019-03-20 半導体装置および半導体装置をデバッグするためのプログラム

Country Status (1)

Country Link
JP (1) JP2020154699A (ja)

Similar Documents

Publication Publication Date Title
JP3684831B2 (ja) マイクロコンピュータ、電子機器及びデバッグシステム
US20090113183A1 (en) Method of controlling a device and a device controlled thereby
US7533315B2 (en) Integrated circuit with scan-based debugging and debugging method thereof
US20030046610A1 (en) Microcomputer and debugging system
US10006964B2 (en) Chip performance monitoring system and method
JP4992791B2 (ja) スキャン制御方法及び装置
JP2020154699A (ja) 半導体装置および半導体装置をデバッグするためのプログラム
KR100809291B1 (ko) 임베디드 소프트웨어의 api 테스트 방법 및 장치
US6484275B1 (en) System and method for interfacing data with a test access port of a processor
JP2005222446A (ja) オンボードデバッグ装置および半導体回路装置
CN114253784A (zh) 芯片测试模式的配置方法、装置、soc芯片及电子设备
JP5982845B2 (ja) トレース制御装置及びトレース制御方法
CN106896317B (zh) 通过扫描测试的扫描链所执行的电路排错方法及电路排错系统
US20160282408A1 (en) Integrated Circuit Including a Programmable Logic Analyzer with Enhanced and Debugging Capabilities and a Method Therefor
US20150370678A1 (en) SYSTEMS AND METHODS FOR MONITORING HARDWARE OBSERVATION POINTS WITHIN A SYSTEM ON A CHIP (SoC)
US6725172B2 (en) Systems and methods for tagging measurement values
US20230335208A1 (en) Test circuit and method for reading data from a memory device during memory dump
JP3002341B2 (ja) ロジックアナライザ
JP2009258857A (ja) デバッグ装置及びデバッグ方法
KR200234483Y1 (ko) 회로기판상 전자부품측정장치
CN108681500B (zh) 具有事务记录能力的系统和事务记录方法
JP2010271278A (ja) テストシステム、半導体集積回路及びテスト方法
JP2513888B2 (ja) マイクロプロセッサ
CN116994638A (zh) 测试电路与在存储器转储操作中读取存储器装置数据的方法
JP4952546B2 (ja) 波形発生装置及び半導体試験装置