JP2016091278A - Icチップ - Google Patents
Icチップ Download PDFInfo
- Publication number
- JP2016091278A JP2016091278A JP2014224625A JP2014224625A JP2016091278A JP 2016091278 A JP2016091278 A JP 2016091278A JP 2014224625 A JP2014224625 A JP 2014224625A JP 2014224625 A JP2014224625 A JP 2014224625A JP 2016091278 A JP2016091278 A JP 2016091278A
- Authority
- JP
- Japan
- Prior art keywords
- output
- data packet
- interrupt
- monitoring circuit
- chip
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Microcomputers (AREA)
Abstract
【課題】 比較的簡単な構成で、割込コントローラーの上流側における複数の割込信号の発生状態を時系列的に連続してトレースすることを可能にするICチップを得る。【解決手段】 ICチップ1において、割込コントローラー14は、複数の処理モジュール13から出力される割込信号を1つずつ順番に選択し、選択した割込信号をCPU11に入力する。監視回路21は、複数の処理モジュール13から割込コントローラー14へ出力される割込信号を検出し、割込信号の検出情報をデータパケットとして出力する。デバックインターフェイス22は、CPU11から出力されるトレースデータのデータパケットとともに、監視回路21から出力されるデータパケットを外部のデバッグ装置2へ出力する。【選択図】 図1
Description
本発明は、ICチップに関するものである。
プロセッサーを内蔵したシステムLSI(Large Scale Integrated circuit)などのIC(Integrated Circuit)チップをデバックする際に、インサーキットエミュレーター(ICE:In-Circuit Emulator)を使用してトレースおよびデバッグを行うことがある。
インサーキットエミュレーターを使用する場合、一般的に、インサーキットエミュレーターとICチップとの接続およびデータ転送には、JTAG(Joint Test Action Group)インターフェイスや専用インターフェイスなどが使用される。
上述のシステムLSIなどのICチップには、プロセッサーの他に、所定の処理をそれぞれ行う複数の処理モジュールが内蔵されており、各処理モジュールは、プロセッサーとのデータ通信が必要になると、割込信号をプロセッサーへ出力する。このように複数の処理モジュールが割込信号を出力可能である場合、複数の処理モジュールから出力された割込信号からプロセッサーに入力する割込コントローラーが設けられている(例えば特許文献1参照)。
このようなICチップでは、プロセッサーが、割込信号の受け付けおよび割込信号に基づく割込処理の実行をトレースすることで、そのような割込処理を含むプロセッサーの処理のトレースを行うことができる。
上述のICチップにおいて、プロセッサーは、割込処理を実行中に、新たな割込信号を受け付けると、その新たな割り込みの優先度などに応じて、新たな割込処理を待機させたり、実行中の割込処理に対してネストさせて新たな割込処理を実行させたりしている。そのため、複数の処理モジュールからどのような順序で割込信号が出力されたか、どのような順序で複数の処理モジュールからの割込信号が割込コントローラーにより選択されていったかなどの、割込コントローラーの上流側における複数の割込信号の発生状態を時系列的に連続してトレースすることは、デバックのために重要である。
しかしながら、プロセッサーによって、割込コントローラーの上流側における複数の割込信号の発生状態を時系列的に連続してトレースすることは困難である。
また、各処理モジュールの割込信号の状態を示すレジスターを設けておき、プロセッサーの処理を停止させてそのレジスターの値を外部のデバッグ装置で読み出すことも考えられるが、そのようにした場合、ICチップの内部構成が複雑になってしまう。
本発明は、上記の問題に鑑みてなされたものであり、比較的簡単な構成で、割込コントローラーの上流側における複数の割込信号の発生状態を時系列的に連続してトレースすることを可能にするICチップを得ることを目的とする。
本発明に係るICチップは、プロセッサーと、複数の処理モジュールと、前記複数の処理モジュールから出力される割込信号を1つずつ順番に選択し、選択した割込信号を前記プロセッサーに入力する割込コントローラーと、前記複数の処理モジュールから前記割込コントローラーへ出力される割込信号を検出し、前記割込信号の検出情報をデータパケットとして出力する監視回路と、前記プロセッサーから出力されるトレースデータのデータパケットとともに、前記監視回路から出力される前記データパケットを外部のデバッグ装置へ出力するデバックインターフェイスとを備える。
本発明によれば、比較的簡単な構成で、割込コントローラーの上流側における複数の割込信号の発生状態を時系列的に連続してトレースすることを可能にするICチップを得ることができる。
以下、図に基づいて本発明の実施の形態を説明する。
図1は、本発明の実施の形態に係るICチップの構成を示すブロック図である。
図1において、ICチップ1には、デバッグ時にインサーキットエミュレーターなどのデバッグ装置2が接続される。
また、ICチップ1は、CPU11と、システムバス12でCPU11に接続された複数の処理モジュール13と、割込コントローラー14と、監視回路21と、デバッグインターフェイス22とを備える。
CPU11は、プログラムに記述された動作(処理モジュール13に対するデータ通信、データ処理など)を実行するプロセッサーである。デバッグ時、CPU11は、プログラムの実行中に、トレースデータをデバッグインターフェイス22に出力する。トレースデータは、トレースに必要な、CPU11で実行される各ステップでの命令、データ値、データアドレス、プログラムカウンターなどのレジスターの値などのデータである。例えば、CPU11は、トレースデータをデータパケット化して出力し、その際、データパケットに、CPU11のトレースデータを示す識別子を付加しておく。
複数の処理モジュール13は、所定の処理をそれぞれ実行し、CPU11とのデータ通信が必要になると割込信号を出力する内部回路である。
割込コントローラー14は、複数の処理モジュール13から出力される割込信号を1つずつ順番に選択し、選択した割込信号をCPU11に入力する内部回路である。
監視回路21は、複数の処理モジュール13から割込コントローラー14へ出力される割込信号を検出し、その割込信号の検出情報(割込信号を出力した処理モジュール13の固有識別子など)をデータパケットとして出力する。
なお、割込信号の検出情報を示すデータパケットは、割込信号の発生順に出力されるようにしてもよい。
この実施の形態では、監視回路21は、上述のデータパケットにタイムスタンプを付し、そのタイムスタンプを付したデータパケットを出力する。
なお、ICチップ1が、所定時間ごとにカウントアップしていく内部カウンターを内蔵し、監視回路21は、その内部カウンターの値を上述のタイムスタンプとしてデータパケットに付すようにしてもよい。
デバッグインターフェイス22は、例えばJTAGインターフェイスや専用インターフェイスであり、CPU11から出力されるトレースデータのデータパケットとともに、監視回路21から出力されるデータパケットを外部のデバッグ装置2へ出力する内部回路である。
なお、外部のデバッグ装置2においてデバックインターフェイス22から出力されるデータパケットの中から、監視回路21から出力されたデータパケットを特定可能な識別子が、監視回路21から出力されたデータパケットには、監視回路21またはデバッグインターフェイス21において付される。
次に、デバッグ時の上記ICチップ1の動作について説明する。
デバッグ時において、CPU11が、所定のプログラムを実行すると、随時、トレースデータをデバッグインターフェイス22に出力する。
また、監視回路21は、処理モジュール13から割込コントローラー14への出力される割込信号を検出するたびに、検出情報のデータパケットをデバッグインターフェイス22に出力する。
デバッグインターフェイス22は、それらのデータパケットをデバッグ装置2に出力する。デバッグ装置2は、デバッグインターフェイス22から出力されるデータパケットを受信し、受信したデータパケットから、トレースデータのデータパケットと割込信号の検出情報のデータパケットとをそれぞれ抽出してトレースデータおよび割込信号の時系列的な状態変化を特定し、トレースデータおよび割込信号の時系列的な状態変化に基づいてリアルタイムでトレースおよびデバッグを行う。
以上のように、上記実施の形態によれば、割込コントローラー14は、複数の処理モジュール13から出力される割込信号を1つずつ順番に選択し、選択した割込信号をCPU11に入力する。監視回路21は、複数の処理モジュール13から割込コントローラー14へ出力される割込信号を検出し、割込信号の検出情報をデータパケットとして出力する。デバックインターフェイス22は、CPU11から出力されるトレースデータのデータパケットとともに、監視回路21から出力されるデータパケットを外部のデバッグ装置2へ出力する。
これにより、比較的簡単な構成で、割込コントローラーの上流側における複数の割込信号の発生状態を時系列的に連続してトレースすることが可能となる。ひいては、ICチップ1における複数の割り込みが非同期に同時または連続して発生するような場合においても、デバッグ装置2において効率的なトレースが可能である。
なお、上述の実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
本発明は、例えば、システムLSIに適用可能である。
1 ICチップ
2 デバッグ装置
11 CPU(プロセッサーの一例)
13 処理モジュール
14 割込コントローラー
21 監視回路
22 デバッグインターフェイス
2 デバッグ装置
11 CPU(プロセッサーの一例)
13 処理モジュール
14 割込コントローラー
21 監視回路
22 デバッグインターフェイス
Claims (4)
- プロセッサーと、
複数の処理モジュールと、
前記複数の処理モジュールから出力される割込信号を1つずつ順番に選択し、選択した割込信号を前記プロセッサーに入力する割込コントローラーと、
前記複数の処理モジュールから前記割込コントローラーへ出力される割込信号を検出し、前記割込信号の検出情報をデータパケットとして出力する監視回路と、
前記プロセッサーから出力されるトレースデータのデータパケットとともに、前記監視回路から出力される前記データパケットを外部のデバッグ装置へ出力するデバックインターフェイスと、
を備えることを特徴とするICチップ。 - 前記監視回路は、前記データパケットにタイムスタンプを付し、前記タイムスタンプを付したデータパケットを出力することを特徴とする請求項1記載のICチップ。
- 所定時間ごとにカウントアップしていく内部カウンターをさらに備え、
前記監視回路は、前記内部カウンターの値を前記タイムスタンプとして前記データパケットに付すこと、
を特徴とする請求項2記載のICチップ。 - 前記外部のデバッグ装置において前記デバックインターフェイスから出力されるデータパケットの中から前記監視回路から出力された前記データパケットを特定可能な識別子が、前記監視回路から出力された前記データパケットに付されていることを特徴とする請求項1から請求項3のうちのいずれか1項記載のICチップ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014224625A JP2016091278A (ja) | 2014-11-04 | 2014-11-04 | Icチップ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014224625A JP2016091278A (ja) | 2014-11-04 | 2014-11-04 | Icチップ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016091278A true JP2016091278A (ja) | 2016-05-23 |
Family
ID=56016871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014224625A Pending JP2016091278A (ja) | 2014-11-04 | 2014-11-04 | Icチップ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016091278A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023107362A3 (en) * | 2021-12-06 | 2023-08-03 | SiFive, Inc. | Event tracing |
-
2014
- 2014-11-04 JP JP2014224625A patent/JP2016091278A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023107362A3 (en) * | 2021-12-06 | 2023-08-03 | SiFive, Inc. | Event tracing |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3369015B1 (en) | Methods and circuits for debugging circuit designs | |
US10078113B1 (en) | Methods and circuits for debugging data bus communications | |
US9222976B1 (en) | Methods and circuits for debugging multiple IC packages | |
US9442815B2 (en) | Distributed on-chip debug triggering with allocated bus lines | |
JP2015516100A5 (ja) | ||
ATE485527T1 (de) | System und rechnerprogrammprodukt zum testen einer logischen schaltung | |
CN104699620A (zh) | 一种加速芯片中断控制器验证的系统及方法 | |
US20160349326A1 (en) | Debug trigger interface for non-debug domain system reset | |
EP3961403A1 (en) | Bus monitoring device and method, storage medium, and electronic device | |
JP2016091278A (ja) | Icチップ | |
US11816016B2 (en) | Identifying causes of anomalies observed in an integrated circuit chip | |
JP2016091277A (ja) | トレースシステムおよびicチップ | |
JP6338114B2 (ja) | Icチップ | |
TWI541646B (zh) | 偵錯系統及其控制方法 | |
US11907100B2 (en) | Generation of trace messages including an instruction retirement count and a stall count | |
CN103902423A (zh) | 一种调试中央处理器死机的方法和系统 | |
CN104809038B (zh) | 一种fifo异常处理方法及装置 | |
JP2011028308A (ja) | 半導体装置及びソフトウェア開発支援装置 | |
CN116719746B (zh) | 调试方法、设备、待调试产品和计算机存储介质 | |
JP2008152665A (ja) | 半導体集積回路の動作解析方法 | |
CN104991875A (zh) | 一种地址总线的检测方法 | |
Zhang et al. | Security and Fault Diagnosis-Based Assertion-Based Verification for FPGA | |
JP2014232478A (ja) | 動作監視装置および動作監視方法 | |
Wiese et al. | In-Circuit Debugger for Wireless Real-Time Monitoring and Diagnosis of FPGA Applications | |
JP2011155066A (ja) | 半導体処理装置、および半導体処理システム |