JP2008293061A - Semiconductor device, and debugging method of semiconductor device - Google Patents

Semiconductor device, and debugging method of semiconductor device Download PDF

Info

Publication number
JP2008293061A
JP2008293061A JP2007135066A JP2007135066A JP2008293061A JP 2008293061 A JP2008293061 A JP 2008293061A JP 2007135066 A JP2007135066 A JP 2007135066A JP 2007135066 A JP2007135066 A JP 2007135066A JP 2008293061 A JP2008293061 A JP 2008293061A
Authority
JP
Japan
Prior art keywords
instruction data
processor
bus
circuit
pipeline
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
JP2007135066A
Other languages
Japanese (ja)
Inventor
Kyoichi Narai
恭一 成相
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.)
NEC Electronics Corp
Original Assignee
NEC 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 NEC Electronics Corp filed Critical NEC Electronics Corp
Priority to JP2007135066A priority Critical patent/JP2008293061A/en
Publication of JP2008293061A publication Critical patent/JP2008293061A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Advance Control (AREA)
  • Debugging And Monitoring (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To specify instruction data just before abnormal termination which was being executed by a processor. <P>SOLUTION: An LSI 10 comprises a processor 12 having a pipeline 15 which processes instruction data input to the processor 12 through a bus 13 and an arithmetic execution circuit 16 which perform, upon input of the instruction data processed by the pipeline 15 thereto, arithmetic processing according to the instruction data; and a storage circuit 14 which stores the instruction data input from the pipeline 15 to the arithmetic execution circuit 16. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、半導体装置に関し、特に、プロセッサが異常状態となったときの原因の解析が可能な半導体装置に関する。   The present invention relates to a semiconductor device, and more particularly to a semiconductor device capable of analyzing a cause when a processor enters an abnormal state.

従来より、インサーキットエミュレータ(以下、ICEという。)をターゲットプロセッサに接続し、デバッガがICEを介してプロセッサと通信することによりデバッグを行うデバッグシステムが広く用いられている。デバッガは、ICEを介してプロセッサが実行するプログラムをダウンロードしたり、プロセッサにブレーク要求を送信してプロセッサの処理を一時停止させ、メモリやレジスタの状態をデバッガに出力させたり、メモリやレジスタのデータを書き換えるよう操作することによりプロセッサの動作確認を行う。ターゲットプロセッサが正常に動作している状態では、このような操作は滞りなく実行される。   2. Description of the Related Art Conventionally, a debugging system that performs debugging by connecting an in-circuit emulator (hereinafter referred to as ICE) to a target processor and a debugger communicating with the processor via the ICE has been widely used. The debugger downloads a program to be executed by the processor via the ICE, sends a break request to the processor, temporarily stops the processing of the processor, and outputs the memory and register status to the debugger, and the memory and register data. The operation of the processor is checked by operating to rewrite In a state where the target processor is operating normally, such an operation is executed without delay.

しかしながら、プロセッサに接続されたハードウェアやプロセッサ製造時のシリコン等の不具合により、プロセッサの外部バスに接続されるバスインタフェースが正常に動作しない状態でプロセッサが動作を停止することがある。例えば、外部バスのスレーブ側、すなわち、プロセッサに接続されたハードウェアからの応答を示すReady信号がアクティブにならない状態や、プロセッサを一時停止させるWait信号がアクティブにならないような状態等が考えられる。   However, the processor may stop operating in a state where the bus interface connected to the external bus of the processor does not operate normally due to a defect such as hardware connected to the processor or silicon during manufacture of the processor. For example, a state in which a Ready signal indicating a response from the slave side of the external bus, that is, a hardware connected to the processor is not activated, a state in which a Wait signal for suspending the processor is not activated, or the like can be considered.

ICEは、プロセッサのバスインタフェースを介してメモリやレジスタにアクセスするため、バスインタフェースが使用できない状態でプロセッサが一時停止すると、メモリやレジスタにアクセスすることができず、デバッガは所定のデバッグ処理を行うことができない。このような状態での不具合の解析は、不具合箇所を特定することが困難であり、デバッグ処理に非常に長い時間が費やされてしまう。   Since ICE accesses memory and registers via the processor's bus interface, if the processor pauses while the bus interface cannot be used, the memory and registers cannot be accessed, and the debugger performs predetermined debugging processing. I can't. In the analysis of the defect in such a state, it is difficult to specify the defective part, and a very long time is spent on the debugging process.

特許文献1及び特許文献2には、プロセッサ内のメインメモリとは別にデータ記憶回路を設け、プロセッサの実行したプログラムをデータ記憶回路に格納する仕組みが開示されている。しかしながら、特許文献1及び特許文献2に記載されたLSIでは、バスインタフェースを使用することができない状態では、データ記憶回路に格納されたプログラム等をICE等の外部装置に出力することができない。   Patent Documents 1 and 2 disclose a mechanism in which a data storage circuit is provided separately from the main memory in the processor, and a program executed by the processor is stored in the data storage circuit. However, the LSIs described in Patent Document 1 and Patent Document 2 cannot output a program or the like stored in the data storage circuit to an external device such as ICE when the bus interface cannot be used.

特許文献3には、共通バスとは別にメモリデータをダンプするためのダンプバスを設け、共通バスが使えなくなった場合であっても、制御バスが使えないときにはダンプバスを用いてメモリデータを外部に転送する技術が記載されている。
特開昭58−044545号公報 特開平01−161544号公報 特開平08−328914号公報
In Patent Document 3, a dump bus for dumping memory data is provided separately from the common bus. Even when the common bus cannot be used, memory data is transferred to the outside using the dump bus when the control bus cannot be used. The technology to do is described.
JP 58-045445 A Japanese Patent Laid-Open No. 01-161544 JP 08-328914 A

しかしながら、特許文献3に記載されているシステムメモリでは、パイプラインと演算実行回路との間の命令データを記憶することができず、プロセッサがバスインタフェースを使用できない状態で一時停止した場合では、プロセッサが実行していた命令データを特定することが困難である。   However, in the system memory described in Patent Document 3, instruction data between the pipeline and the operation execution circuit cannot be stored, and when the processor is suspended in a state where the bus interface cannot be used, the processor It is difficult to specify the instruction data that has been executed.

本発明に係る半導体装置は、バスを介してプロセッサに入力された命令データを処理するパイプライン、及び前記パイプラインによって処理された前記命令データが入力され、当該命令データに従って演算処理を行う演算実行回路を有するプロセッサと、前記パイプラインから前記演算実行回路に入力される前記命令データを格納する記憶回路と、を有するものである。   A semiconductor device according to the present invention includes a pipeline that processes instruction data input to a processor via a bus, and an arithmetic execution that receives the instruction data processed by the pipeline and performs arithmetic processing according to the instruction data A processor having a circuit; and a storage circuit for storing the instruction data input from the pipeline to the arithmetic execution circuit.

本発明に係る半導体装置によれば、パイプラインから演算実行回路に出力される命令データを記憶回路に記憶することにより、例えば、プロセッサが異常終了した場合であっても記憶回路に記憶された命令データをトレースすることにより、プロセッサが実行していた異常終了直前の命令データを特定することができる。   According to the semiconductor device of the present invention, by storing the instruction data output from the pipeline to the arithmetic execution circuit in the storage circuit, for example, the instruction stored in the storage circuit even when the processor ends abnormally By tracing the data, it is possible to identify the instruction data immediately before the abnormal termination that was being executed by the processor.

本発明によれば、プロセッサが実行していた異常終了直前の命令データを特定することができる。   According to the present invention, it is possible to specify the instruction data immediately before abnormal termination that has been executed by the processor.

以下、添付した図面を参照して本発明の実施の形態について説明する。
[第1の実施形態]
図1は、本発明に係るLSI10の概要を示すブロック図である。なお、実施の形態では、本発明に係る半導体装置をLSI10として説明する。LSI10は、解析装置9とメインメモリ30に接続されている。LSI10の有するプロセッサ12は、メインメモリ30に格納された命令データを呼び出し、この命令データに従って所定の演算処理を実行している。LSI10は、メインメモリ30からプロセッサ12に入力される命令データを記憶回路14に記憶している。
Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings.
[First Embodiment]
FIG. 1 is a block diagram showing an outline of an LSI 10 according to the present invention. In the embodiment, a semiconductor device according to the present invention will be described as LSI 10. The LSI 10 is connected to the analysis device 9 and the main memory 30. The processor 12 included in the LSI 10 calls the instruction data stored in the main memory 30 and executes predetermined arithmetic processing according to the instruction data. The LSI 10 stores instruction data input from the main memory 30 to the processor 12 in the storage circuit 14.

この記憶回路14に記憶された命令データは、例えば、プロセッサ12に異常が発生し、プロセッサ12の動作が停止した場合に解析装置9に出力される。解析装置9は、記憶回路14に記憶された命令データを解析することにより、プロセッサ12において発生した異常を解析することができる。   The instruction data stored in the storage circuit 14 is output to the analysis device 9 when, for example, an abnormality occurs in the processor 12 and the operation of the processor 12 is stopped. The analysis device 9 can analyze the abnormality occurring in the processor 12 by analyzing the instruction data stored in the storage circuit 14.

図2は、本発明の第1の実施形態に係るLSI10の一構成例を示すブロック図である。LSI10は、プロセッサ12、バス13、及び記憶回路14を備えて構成されている。プロセッサ12は、バス13に接続されたメインメモリ30にアクセスする。プロセッサ12は、メインメモリ30に格納された命令データや数値データ等を読み出し、プログラムに従って所定の演算処理を実行した後、演算結果をバス13に出力する。バス13は、LSI10の有する内部バスである。バス13は、プロセッサ12、メインメモリ30、及び、機能モジュール(図示せず)などのハードウェアコンポーネントが接続されている。   FIG. 2 is a block diagram showing a configuration example of the LSI 10 according to the first embodiment of the present invention. The LSI 10 includes a processor 12, a bus 13, and a storage circuit 14. The processor 12 accesses the main memory 30 connected to the bus 13. The processor 12 reads instruction data, numerical data, and the like stored in the main memory 30, executes predetermined arithmetic processing according to a program, and then outputs the arithmetic result to the bus 13. The bus 13 is an internal bus included in the LSI 10. The bus 13 is connected to hardware components such as the processor 12, the main memory 30, and functional modules (not shown).

バス13は、プロセッサ12と、メインメモリや機能モジュールとの間のデータの伝送路となる。記憶回路14は、プロセッサ12の内部に流れる命令データを順次記憶部18に格納していく。記憶部18は、最新の命令データを順次格納していくFIFO(First In First Out)構造を有し、プロセッサ12が実行する最新の命令データを一定容量保存することができる。すなわち、記憶部18は、プロセッサ12で実行された命令データの一定量の履歴を記憶している。命令データは、例えば、命令を識別する命令コードや、命令が格納されたアドレス等の情報である。記憶部18に格納された命令データは、LSI10の有するシリアルインタフェース19を介して、LSI10の外部に出力することができる。シリアルインタフェース19は、外部に接続された解析装置9等にシリアルにデータを出力するインタフェースである。シリアルインタフェース19は、バス13に接続されておらず、プロセッサ12やバス13の動作状態に関らず、記憶部18に格納された命令データを出力することができる。記憶回路14は、プロセッサ12とは別チップに搭載されいてもよく、また、プロセッサ12内部に搭載されていてもよい。   The bus 13 serves as a data transmission path between the processor 12 and the main memory or functional module. The storage circuit 14 sequentially stores instruction data flowing inside the processor 12 in the storage unit 18. The storage unit 18 has a FIFO (First In First Out) structure in which the latest instruction data is sequentially stored, and can store a predetermined capacity of the latest instruction data executed by the processor 12. That is, the storage unit 18 stores a certain amount of history of instruction data executed by the processor 12. The instruction data is, for example, information such as an instruction code for identifying the instruction and an address where the instruction is stored. The instruction data stored in the storage unit 18 can be output to the outside of the LSI 10 via the serial interface 19 of the LSI 10. The serial interface 19 is an interface that serially outputs data to the analysis device 9 or the like connected to the outside. The serial interface 19 is not connected to the bus 13 and can output the instruction data stored in the storage unit 18 regardless of the operating state of the processor 12 or the bus 13. The memory circuit 14 may be mounted on a chip different from the processor 12 or may be mounted inside the processor 12.

プロセッサ12は、パイプライン15、演算実行回路16、及び、異常状態検出回路17を備えて構成されている。パイプライン15は、演算実行回路16とバス13の間に設けられている。パイプライン15は、バス13を介して入力された命令データを、演算実行回路16の処理効率が向上するように処理し、演算実行回路16に出力している。プロセッサ12は、バス13から取得した命令データをパイプライン15から入力する。パイプライン15に入力された命令データは、パイプライン処理され、演算実行回路16に出力される。また、パイプライン15は、バス13から入力された命令データを記憶回路14にも出力している。すなわち、パイプライン15は、入力された命令データを、演算実行回路16及び記憶回路14に出力している。記憶回路14には、演算実行回路16に入力さされる命令データと同じ命令データが順次入力されている。バス13は、プロセッサ12の外部バスであるのに対し、パイプライン15と演算実行回路16の間のバスは、プロセッサ12の内部バスである。   The processor 12 includes a pipeline 15, an operation execution circuit 16, and an abnormal state detection circuit 17. The pipeline 15 is provided between the arithmetic execution circuit 16 and the bus 13. The pipeline 15 processes the instruction data input via the bus 13 so that the processing efficiency of the arithmetic execution circuit 16 is improved, and outputs the processed data to the arithmetic execution circuit 16. The processor 12 inputs the instruction data acquired from the bus 13 from the pipeline 15. The instruction data input to the pipeline 15 is pipeline processed and output to the operation execution circuit 16. The pipeline 15 also outputs the instruction data input from the bus 13 to the storage circuit 14. That is, the pipeline 15 outputs the input instruction data to the arithmetic execution circuit 16 and the storage circuit 14. The same instruction data as the instruction data input to the arithmetic execution circuit 16 is sequentially input to the memory circuit 14. The bus 13 is an external bus of the processor 12, whereas the bus between the pipeline 15 and the operation execution circuit 16 is an internal bus of the processor 12.

異常状態検出回路17は、プロセッサ12に生じた何らかの異常状態を検知する回路である。例えば、異常状態検出回路17は、演算実行回路16に取り込まれた命令データがプロセッサ12において定義されていない、すなわち未定義な命令であった場合に、演算実行回路16から異常を知らせる信号が入力されることによりプロセッサ12の異常を検出する。または、異常状態検出回路17は、一定期間バス13からの応答がなくなったことを検知することにより、プロセッサ12の異常を検知する。   The abnormal state detection circuit 17 is a circuit that detects any abnormal state that has occurred in the processor 12. For example, the abnormal state detection circuit 17 receives a signal notifying the abnormality from the operation execution circuit 16 when the instruction data taken into the operation execution circuit 16 is not defined in the processor 12, that is, is an undefined instruction. As a result, the abnormality of the processor 12 is detected. Alternatively, the abnormal state detection circuit 17 detects an abnormality of the processor 12 by detecting that there is no response from the bus 13 for a certain period.

または、異常状態検出回路17は、これらを組み合わせ、未定義な命令が実行された場合や、一定期間バス13からの応答がなくなった場合などを合わせて異常状態であると検知するよう構成することもできる。異常状態検出回路17は、プロセッサ12において異常状態を検知すると、異常状態検知信号を記憶回路14に出力する。記憶回路14は、異常状態検出回路16からこの異常状態検知信号が入力されると、命令データの格納を停止する。   Alternatively, the abnormal state detection circuit 17 is configured to combine these and detect an abnormal state when an undefined instruction is executed or when there is no response from the bus 13 for a certain period of time. You can also. When the processor 12 detects an abnormal state, the abnormal state detection circuit 17 outputs an abnormal state detection signal to the storage circuit 14. When the abnormal state detection signal is input from the abnormal state detection circuit 16, the storage circuit 14 stops storing the instruction data.

このように構成されたLSI10では、バス13からパイプライン15に入力される命令データを順次、記憶回路14に記憶していく。異常状態検出回路17によってプロセッサ12に何らかの異常状態が検知された場合には、記憶回路14は、命令データの格納を中断する。記憶回路14によって記憶された命令データは、シリアルインタフェース19を介してLSI10の外部に出力される。LSI10の外部に接続された解析装置9は、この記憶回路14に蓄積された命令データをトレースすることにより、プロセッサ12に発生した異常状態を解析することができる。   In the LSI 10 configured as described above, the instruction data input from the bus 13 to the pipeline 15 is sequentially stored in the storage circuit 14. If any abnormal state is detected by the processor 12 by the abnormal state detection circuit 17, the storage circuit 14 interrupts the storage of the instruction data. The instruction data stored by the storage circuit 14 is output to the outside of the LSI 10 via the serial interface 19. The analysis device 9 connected to the outside of the LSI 10 can analyze the abnormal state occurring in the processor 12 by tracing the instruction data stored in the storage circuit 14.

次に、このように構成されたLSI10の動作について説明する。図3〜図5は、プロセッサ12の動作状態に応じた、LSI10の動作を示すタイミングチャートである。図3は、プロセッサ12が正常に動作している場合のLSI10の動作を示し、図4及び図5は、プロセッサ12に異常状態が発生したときのLSI10の動作を示している。図4は、一例として、未定義の命令データがプロセッサ12に入力された異常状態が発生した場合のLSI10の動作を示し、図5は、他の例として、バス13からの応答が停止した異常状態が発生した場合のLSI10の動作を示している。図3〜図5には、上から、バス13からパイプライン15に入力される命令データ、パイプライン15から演算実行回路16に入力される命令データ、記憶回路14に記憶される命令データ、演算実行回路16で実行される命令データがそれぞれ示されている。   Next, the operation of the LSI 10 configured as described above will be described. 3 to 5 are timing charts showing the operation of the LSI 10 in accordance with the operation state of the processor 12. FIG. 3 shows the operation of the LSI 10 when the processor 12 is operating normally, and FIGS. 4 and 5 show the operation of the LSI 10 when an abnormal state occurs in the processor 12. FIG. 4 shows an operation of the LSI 10 when an abnormal state occurs in which undefined instruction data is input to the processor 12 as an example, and FIG. 5 shows an abnormality in which a response from the bus 13 is stopped as another example. The operation of the LSI 10 when a state occurs is shown. 3 to 5, from the top, instruction data input from the bus 13 to the pipeline 15, instruction data input from the pipeline 15 to the operation execution circuit 16, instruction data stored in the storage circuit 14, and operation The instruction data executed by the execution circuit 16 is shown.

図3は、プロセッサ12が正常に動作している場合のLSI10の動作を示すタイミングチャートである。プロセッサ12の正常動作時では、バス13に流れる命令データは、パイプライン15からプロセッサ12に入力される。バス13に、命令データA〜Jが流れていれば、パイプライン15にも、命令データA〜Jが流れる。パイプライン15に入力された命令データは、記憶回路14に順次記憶されている。記憶回路14は、パイプライン15から演算実行回路16に命令データが入力されるタイミングに同期して、命令データA〜Jを書き込んでいく。演算実行回路16にも同様に、パイプライン15から命令データA〜Jが入力される。演算実行回路16は、この命令データA〜Jに従って、所定の演算処理を実行していく。このように、演算実行回路16が所定の演算処理を実行している間中、記憶回路14は、演算実行回路16で実行される命令データA〜Jを記憶していく。   FIG. 3 is a timing chart showing the operation of the LSI 10 when the processor 12 is operating normally. During normal operation of the processor 12, instruction data flowing on the bus 13 is input from the pipeline 15 to the processor 12. If the instruction data A to J flows through the bus 13, the instruction data A to J also flows through the pipeline 15. The instruction data input to the pipeline 15 is sequentially stored in the storage circuit 14. The storage circuit 14 writes the instruction data A to J in synchronization with the timing at which the instruction data is input from the pipeline 15 to the arithmetic execution circuit 16. Similarly, instruction data A to J are input from the pipeline 15 to the arithmetic execution circuit 16. The arithmetic execution circuit 16 executes predetermined arithmetic processing according to the instruction data A to J. As described above, while the arithmetic execution circuit 16 executes a predetermined arithmetic process, the storage circuit 14 stores the instruction data A to J executed by the arithmetic execution circuit 16.

図4は、プロセッサ12に未定義の命令データが入力された異常状態が発生した場合の、LSI10の動作を示すタイミングチャートである。ここでは、命令データEがプロセッサ12において未定義の命令であるとする。バス13には、命令データA〜Jが流れている。パイプライン15は、バス13から命令データA〜Jが入力されている。パイプライン15に入力された命令データA〜Jは、パイプライン15から、記憶回路14及び演算実行回路16に分岐して出力される。演算実行回路16は、パイプライン15から入力された命令データに従って演算処理を実行している。   FIG. 4 is a timing chart showing the operation of the LSI 10 when an abnormal state occurs in which undefined instruction data is input to the processor 12. Here, it is assumed that the instruction data E is an undefined instruction in the processor 12. Instruction data A to J flow through the bus 13. The pipeline 15 receives instruction data A to J from the bus 13. The instruction data A to J input to the pipeline 15 are branched and output from the pipeline 15 to the storage circuit 14 and the operation execution circuit 16. The arithmetic execution circuit 16 executes arithmetic processing according to the instruction data input from the pipeline 15.

演算実行回路16において、例えば、未定義である命令データEが入力されて動作が停止すると、演算実行回路16は、動作が停止したことを異常状態検出回路17に通知する。異常状態検出回路17は、演算実行回路16から異常状態を知らせる通知を受け取ると、記憶回路14に対して異常状態検出信号を出力する。記憶回路14は、異常状態検出回路17から異常状態検出信号が入力されると、命令データの格納を中断する。すなわち、記憶回路14には、命令データA〜Eが格納され、命令データFの格納が中断する。この、命令データA〜Fの履歴は、シリアルインタフェース19を介して外部の解析装置9に出力される。   In the operation execution circuit 16, for example, when operation data is stopped due to input of undefined instruction data E, the operation execution circuit 16 notifies the abnormal state detection circuit 17 that the operation has stopped. The abnormal state detection circuit 17 outputs an abnormal state detection signal to the storage circuit 14 when receiving a notification of the abnormal state from the arithmetic execution circuit 16. When the abnormal state detection signal is input from the abnormal state detection circuit 17, the storage circuit 14 stops storing the instruction data. That is, the instruction data A to E are stored in the memory circuit 14, and the storage of the instruction data F is interrupted. The history of the instruction data A to F is output to the external analysis device 9 via the serial interface 19.

解析装置9を用い、記憶回路14に記憶された命令データA〜Fをトレースすることにより、異常状態発生の原因を解析することができる。   By using the analysis device 9 and tracing the instruction data A to F stored in the storage circuit 14, the cause of the occurrence of the abnormal state can be analyzed.

図5は、プロセッサ12にバス13からの応答停止した異常状態が発生した場合の、LSI10の動作を示すタイミングチャートである。プロセッサ12は、バス13から命令データを取り込み、演算実行回路16において所定の演算処理を実行していく。ここで、バス13からパイプライン15の間で、命令データE以降の命令データが流れなくなってしまったとする。命令データEの演算実行回路16は、バス13から応答が得られず、実行すべき命令データをバス13から取得できない場合、バス13から命令データが入力されるまで、バスの応答を待ち続ける。異常状態検出回路17は、バス13接続され、バス13から一定時間異常応答がないことを検出すると、異常状態検出信号を記憶回路14に出力する。または、異常状態検出回路17は、演算処理回路16に接続され、演算処理回路16において一定時間演算処理が実行されないと、バス13から応答がないと判断して異常状態検出信号を出力する。なお、異常状態検出回路17は、これらの構成に限らず、プロセッサ12の異常を検出できる構成であればよい。   FIG. 5 is a timing chart showing the operation of the LSI 10 when an abnormal state in which the response from the bus 13 is stopped occurs in the processor 12. The processor 12 fetches instruction data from the bus 13 and executes predetermined arithmetic processing in the arithmetic execution circuit 16. Here, it is assumed that the instruction data after the instruction data E does not flow between the bus 13 and the pipeline 15. If no response is obtained from the bus 13 and the instruction data to be executed cannot be obtained from the bus 13, the operation execution circuit 16 for the instruction data E continues to wait for the bus response until the instruction data is input from the bus 13. The abnormal state detection circuit 17 is connected to the bus 13 and outputs an abnormal state detection signal to the storage circuit 14 when detecting that there is no abnormal response from the bus 13 for a certain period of time. Alternatively, the abnormal state detection circuit 17 is connected to the arithmetic processing circuit 16, and when the arithmetic processing circuit 16 does not execute arithmetic processing for a certain period of time, it determines that there is no response from the bus 13 and outputs an abnormal state detection signal. The abnormal state detection circuit 17 is not limited to these configurations, and may be any configuration that can detect an abnormality of the processor 12.

記憶回路14は、異常状態検出回路17から異常状態検出信号が入力されると、命令データの格納を中断する。記憶回路14に格納された命令データA〜Eは、シリアルインタフェース19を介して外部の解析装置9等に出力される。解析装置9において、記憶回路14に格納された命令データA〜Eをトレースすることにより、異常状態が発生した直前に実効された命令データを特定することができる。これにより、プロセッサ12の異常状態の発生を解析することができる。   When the abnormal state detection signal is input from the abnormal state detection circuit 17, the storage circuit 14 stops storing the instruction data. The instruction data A to E stored in the storage circuit 14 are output to the external analysis device 9 and the like via the serial interface 19. By analyzing the instruction data A to E stored in the storage circuit 14 in the analysis device 9, it is possible to specify the instruction data that was executed immediately before the occurrence of the abnormal state. Thereby, the occurrence of an abnormal state of the processor 12 can be analyzed.

このように、第1の実施形態に係るLSI10では、プロセッサ12内部のバスであるパイプライン15の状態を記憶する記憶回路14を設けることにより、プロセッサ12が異常終了した場合であってもプロセッサ12が実行していた命令データを特定することができる。記憶回路14に格納された命令データを、シリアルインタフェース19を介して外部に出力することにより、プロセッサ12やバス13の動作状態に関係なく、命令データを取得し、解析することが可能である。なお、シリアルインタフェース19に接続される解析装置9は、常時、LSI10に接続しておく必要がない。また、異常状態が生じる直前の命令データが自動的に記憶回路14の記憶部18に格納されるため、ソフトウェアに異常状態解析用のデータを追加する必要がない。   As described above, in the LSI 10 according to the first embodiment, by providing the storage circuit 14 that stores the state of the pipeline 15 that is a bus inside the processor 12, even if the processor 12 is abnormally terminated, the processor 12 It is possible to specify the instruction data that has been executed. By outputting the instruction data stored in the storage circuit 14 to the outside via the serial interface 19, it is possible to acquire and analyze the instruction data regardless of the operating state of the processor 12 or the bus 13. The analysis device 9 connected to the serial interface 19 does not need to be connected to the LSI 10 at all times. Further, since the instruction data immediately before the occurrence of the abnormal state is automatically stored in the storage unit 18 of the storage circuit 14, it is not necessary to add data for analyzing the abnormal state to the software.

[第2の実施形態]
図6は、本発明の第2の実施形態に係るLSI20の一構成例を示すブロック図である。第2の実施形態に係るLSI10の特徴は、第1の実施形態に係るシリアルインタフェース19に代えて、パラレルに信号を出力するパラレルインタフェース21を用いた点にある。なお、他の構成については、第1の実施形態と略同一構成であるため、第1の実施形態と略同一構成については同一符号を付すことによりその説明を省略する。
[Second Embodiment]
FIG. 6 is a block diagram showing a configuration example of the LSI 20 according to the second embodiment of the present invention. The feature of the LSI 10 according to the second embodiment is that a parallel interface 21 that outputs signals in parallel is used instead of the serial interface 19 according to the first embodiment. Since other configurations are substantially the same as those of the first embodiment, the same reference numerals are given to the same configurations as those of the first embodiment, and the description thereof is omitted.

図6に示すように、第2の実施形態に係るLSI20は、記憶回路14から外部に命令データを出力するインタフェースがパラレルインタフェース21によって構成されている。一般に、パラレルインタフェース21は、シリアルインタフェース19に比べて信号線の本数が多く、端子数を削減するためにシリアルインタフェース19が用いられることが多い。しかしながら、データ量、すなわち、外部に出力される命令データが多くなった場合は、第2の実施形態のようにパラレルインタフェース21を用いることが好ましい。これにより、命令データの転送速度が向上し、短時間で命令データを外部に出力することができる。   As shown in FIG. 6, in the LSI 20 according to the second embodiment, an interface for outputting instruction data from the storage circuit 14 to the outside is configured by a parallel interface 21. In general, the parallel interface 21 has more signal lines than the serial interface 19, and the serial interface 19 is often used to reduce the number of terminals. However, when the amount of data, that is, the instruction data output to the outside increases, it is preferable to use the parallel interface 21 as in the second embodiment. Thereby, the transfer speed of the instruction data is improved, and the instruction data can be output to the outside in a short time.

図7は、第2の実施形態に係るLSI20を適用したLSIシステム100の一構成例を示すブロック図である。LSIシステム100は、プロセッサ12を含むLSI20がバス13を介してメインメモリ30に接続されている。プロセッサ12の命令データは、このメインメモリ30に記憶されている。バス13には、機能モジュール31A、31BがLSIシステム100のハードウェアコンポーネントとして接続されている。   FIG. 7 is a block diagram illustrating a configuration example of an LSI system 100 to which the LSI 20 according to the second embodiment is applied. In the LSI system 100, an LSI 20 including a processor 12 is connected to a main memory 30 via a bus 13. The instruction data of the processor 12 is stored in the main memory 30. Functional modules 31A and 31B are connected to the bus 13 as hardware components of the LSI system 100.

次に、このように構成されたLSIシステム100の動作について説明する。プロセッサ20は、起動されると、メインメモリ30に格納されたデータの中から、リセットベクタに設定されたアドレスから命令データをバス13から取得し始める。メインメモリ30は、プロセッサ12からのリセットベクタの取得要求に応答して、リセットベクタをバス13に出力する。続いて、メインメモリ30は、プロセッサ12の要求に応じて、順次命令データをバス13に出力していく。これらのデータは、バス13を介してプロセッサ12に入力される。   Next, the operation of the LSI system 100 configured as described above will be described. When activated, the processor 20 starts to acquire instruction data from the bus 13 from the address set in the reset vector from the data stored in the main memory 30. The main memory 30 outputs the reset vector to the bus 13 in response to the reset vector acquisition request from the processor 12. Subsequently, the main memory 30 sequentially outputs instruction data to the bus 13 in response to a request from the processor 12. These data are input to the processor 12 via the bus 13.

図6に示すように、プロセッサ20の内部では、パイプライン15を介して演算実行回路16に命令データが入力されている。パイプライン15に流れるデータは、記憶回路14に順次出力されている。記憶回路14は、最新の命令データが一定容量格納されている。演算実行回路16は、命令データに従って、順次演算処理を実行している。ここで、プログラムの生成ミス等によって、プロセッサ12に、演算処理できないような未定義の命令データが入力された場合や、バス13から命令データの入力が停止してしまった場合には、異常状態検出回路17から記憶回路14に対して異常状態検出信号が出力される。例えば、演算実行回路16において、演算処理が停止した場合や、バス13のデータが停止した場合は、プロセッサ12に異常が発生していると判断する。バス13からの命令データの入力停止の要因としては、例えば、バス13に接続された機能モジュール31A、31Bの不具合などによりバス13の機能が停止してしまった場合などが考えられる。   As shown in FIG. 6, instruction data is input to the arithmetic execution circuit 16 through the pipeline 15 inside the processor 20. Data flowing through the pipeline 15 is sequentially output to the storage circuit 14. The storage circuit 14 stores the latest command data in a fixed capacity. The arithmetic execution circuit 16 sequentially executes arithmetic processing according to the instruction data. Here, if undefined instruction data that cannot be processed is input to the processor 12 due to a program generation error or the like, or if the input of instruction data from the bus 13 is stopped, an abnormal state occurs. An abnormal state detection signal is output from the detection circuit 17 to the storage circuit 14. For example, in the arithmetic execution circuit 16, when the arithmetic processing is stopped or when the data on the bus 13 is stopped, it is determined that an abnormality has occurred in the processor 12. As a cause of the stop of the input of the instruction data from the bus 13, for example, a case where the function of the bus 13 is stopped due to a malfunction of the functional modules 31A and 31B connected to the bus 13 can be considered.

記憶回路14は、異常状態検出回路17から異常状態検出信号が入力されると、命令データの格納を中断する。この命令データは、パラレルインタフェース21を介して外部に出力され、外部の解析装置9等によって命令データの解析が実行される。これにより、LSIシステム100において、プロセッサ12に異常が発生した直前にプロセッサ12が実行していた命令を解析し、プロセッサ12の異常の要因を特定することができる。   When the abnormal state detection signal is input from the abnormal state detection circuit 17, the storage circuit 14 stops storing the instruction data. This instruction data is output to the outside via the parallel interface 21, and the analysis of the instruction data is executed by the external analysis device 9 or the like. Thereby, in the LSI system 100, the instruction executed by the processor 12 immediately before the abnormality occurs in the processor 12 can be analyzed, and the cause of the abnormality of the processor 12 can be specified.

本発明は、前述した実施形態に限定されるものではなく、演算実行回路16に入力される命令データを記憶する記憶回路14を設ける構成を有していれば、種々構成の変更が可能である。   The present invention is not limited to the above-described embodiment, and various configurations can be changed as long as the configuration includes a storage circuit 14 that stores instruction data input to the arithmetic execution circuit 16. .

本発明のLSI10の概要を示すブロック図である。It is a block diagram which shows the outline | summary of LSI10 of this invention. 本発明の第1の実施形態に係るLSI10の一構成例を示すブロック図である。1 is a block diagram showing a configuration example of an LSI 10 according to a first embodiment of the present invention. プロセッサ12が正常に動作している場合のLSI10の動作を示すタイミングチャートである。4 is a timing chart showing the operation of the LSI 10 when the processor 12 is operating normally. プロセッサ12に未定義の命令データが入力された異常状態が発生した場合の、LSI10の動作を示すタイミングチャートである。6 is a timing chart showing the operation of the LSI 10 when an abnormal state occurs in which undefined instruction data is input to the processor 12. プロセッサ12にバス13からの応答停止した異常状態が発生した場合の、LSI10の動作を示すタイミングチャートである。6 is a timing chart showing an operation of the LSI 10 when an abnormal state in which a response from the bus 13 is stopped occurs in the processor 12. 本発明の第2の実施形態に係るLSI20の一構成例を示すブロック図である。It is a block diagram showing an example of 1 composition of LSI20 concerning a 2nd embodiment of the present invention. 第2の実施形態に係るLSI20を組み込んだLSIシステム100全体の一構成例を示すブロック図である。It is a block diagram which shows one structural example of the whole LSI system 100 incorporating LSI20 which concerns on 2nd Embodiment.

符号の説明Explanation of symbols

9 解析装置
10、20 LSI
12 プロセッサ
13 バス
14 記憶回路
15 パイプライン
16 演算実行回路
17 異常状態検出回路
19 シリアルインタフェース
21 パラレルインタフェース
30 メインメモリ
31A、31B 機能モジュール
100 LSIシステム
9 Analysis device 10, 20 LSI
12 processor 13 bus 14 storage circuit 15 pipeline 16 operation execution circuit 17 abnormal state detection circuit 19 serial interface 21 parallel interface 30 main memory 31A, 31B functional module 100 LSI system

Claims (9)

バスを介してプロセッサに入力された命令データを処理するパイプライン、及び前記パイプラインによって処理された前記命令データが入力され、当該命令データに従って演算処理を行う演算実行回路を有するプロセッサと、
前記パイプラインから前記演算実行回路に入力される前記命令データを格納する記憶回路と、を有する
半導体装置。
A pipeline that processes instruction data input to the processor via the bus, and a processor having an operation execution circuit that receives the instruction data processed by the pipeline and performs arithmetic processing according to the instruction data;
And a storage circuit for storing the instruction data input from the pipeline to the arithmetic execution circuit.
前記記憶回路に記憶された前記命令データを外部に出力するインタフェースを更に有する
請求項1記載の半導体装置。
The semiconductor device according to claim 1, further comprising an interface for outputting the instruction data stored in the storage circuit to the outside.
前記記憶回路は、前記パイプラインから前記演算実行回路に入力される最新の前記命令データにより更新されたデータを一定容量保存する
請求項1又は2記載の半導体装置。
The semiconductor device according to claim 1, wherein the storage circuit stores a constant capacity of data updated by the latest instruction data input from the pipeline to the arithmetic execution circuit.
前記プロセッサが異常状態となったことを検出する異常状態検出回路を更に備えた
請求項1乃至3のいずれか1項に記載の半導体装置。
The semiconductor device according to claim 1, further comprising an abnormal state detection circuit that detects that the processor has entered an abnormal state.
前記記憶回路は、前記異常状態検出回路によって前記プロセッサの異常状態が検出されると、前記命令データの格納を停止する
請求項4記載の半導体装置。
The semiconductor device according to claim 4, wherein the storage circuit stops storing the instruction data when the abnormal state of the processor is detected by the abnormal state detection circuit.
前記インタフェースは、パラレルにデータを出力するパラレルインタフェースである
請求項2記載の半導体装置。
The semiconductor device according to claim 2, wherein the interface is a parallel interface that outputs data in parallel.
前記インタフェースは、シリアルにデータを出力するシリアルインタフェースである
請求項2記載の半導体装置。
The semiconductor device according to claim 2, wherein the interface is a serial interface that serially outputs data.
バスを介してプロセッサに入力された命令データをパイプライン処理し、
当該パイプライン処理された命令データに従って演算処理をする際の当該命令データを記憶する
半導体装置のデバッグ方法。
Pipeline the instruction data input to the processor via the bus,
A semiconductor device debugging method for storing instruction data when performing arithmetic processing according to the pipelined instruction data.
記憶された前記命令データに基づいて、前記半導体装置の異常状態を解析する
請求項8記載の半導体装置のデバッグ方法。
The semiconductor device debugging method according to claim 8, wherein an abnormal state of the semiconductor device is analyzed based on the stored instruction data.
JP2007135066A 2007-05-22 2007-05-22 Semiconductor device, and debugging method of semiconductor device Pending JP2008293061A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007135066A JP2008293061A (en) 2007-05-22 2007-05-22 Semiconductor device, and debugging method of semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007135066A JP2008293061A (en) 2007-05-22 2007-05-22 Semiconductor device, and debugging method of semiconductor device

Publications (1)

Publication Number Publication Date
JP2008293061A true JP2008293061A (en) 2008-12-04

Family

ID=40167750

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007135066A Pending JP2008293061A (en) 2007-05-22 2007-05-22 Semiconductor device, and debugging method of semiconductor device

Country Status (1)

Country Link
JP (1) JP2008293061A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02158847A (en) * 1988-12-12 1990-06-19 Mitsubishi Electric Corp Microprocessor
JPH05334120A (en) * 1992-06-02 1993-12-17 Mitsubishi Electric Corp Information processor
JPH10240570A (en) * 1997-02-28 1998-09-11 Nec Ic Microcomput Syst Ltd Microprocessor and its development support device
JP2001519949A (en) * 1997-04-08 2001-10-23 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド Microprocessor-based device incorporating a cache for capturing software performance profiling data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02158847A (en) * 1988-12-12 1990-06-19 Mitsubishi Electric Corp Microprocessor
JPH05334120A (en) * 1992-06-02 1993-12-17 Mitsubishi Electric Corp Information processor
JPH10240570A (en) * 1997-02-28 1998-09-11 Nec Ic Microcomput Syst Ltd Microprocessor and its development support device
JP2001519949A (en) * 1997-04-08 2001-10-23 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド Microprocessor-based device incorporating a cache for capturing software performance profiling data

Similar Documents

Publication Publication Date Title
US8527812B2 (en) Information processing device
US9047400B2 (en) Data processor device for handling a watchpoint and method thereof
EP0272036A2 (en) Methods and apparatus for providing a microprocessor test interface
US8495344B2 (en) Simultaneous execution resumption of multiple processor cores after core state information dump to facilitate debugging via multi-core processor simulator using the state information
US4493078A (en) Method and apparatus for testing a digital computer
US7930165B2 (en) Procedure and device for emulating a programmable unit providing system integrity control
US7761744B2 (en) Debugging method
CN106919462B (en) Method and device for generating fault record of processor
US9069896B2 (en) Data processor device for handling a watchpoint and method thereof
US20190303166A1 (en) Operating a pipeline flattener in a semiconductor device
US20090063907A1 (en) Debugging system, debugging apparatus and method
JPWO2008053709A1 (en) Semiconductor integrated circuit sorting test apparatus and method
US20210132998A1 (en) Semiconductor device and control method thereof
US7496899B2 (en) Preventing loss of traced information in a data processing apparatus
TWI736564B (en) A method, apparatus and system for diagnosing a processor executing a stream of instructions
JP2008293061A (en) Semiconductor device, and debugging method of semiconductor device
JPH11232211A (en) Dma control device and its method
JP5505781B2 (en) Trace / failure observation system, trace / failure observation method, and trace / failure observation program
JP2009025138A (en) Semiconductor testing device
CN101311909A (en) System peculiarity diagnose method
JP2008152665A (en) Method for analyzing operation of semiconductor integrated circuit
JP5467172B1 (en) Information processing system and information processing method
JP2006185365A (en) Semiconductor device and debugging method
JP2006302162A (en) Multiprocessor system
JPH11143789A (en) Bus tracing device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110420

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110517

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111206