[go: up one dir, main page]

JP5629981B2 - Semiconductor integrated circuit and fault diagnosis method for semiconductor integrated circuit - Google Patents

Semiconductor integrated circuit and fault diagnosis method for semiconductor integrated circuit Download PDF

Info

Publication number
JP5629981B2
JP5629981B2 JP2009131371A JP2009131371A JP5629981B2 JP 5629981 B2 JP5629981 B2 JP 5629981B2 JP 2009131371 A JP2009131371 A JP 2009131371A JP 2009131371 A JP2009131371 A JP 2009131371A JP 5629981 B2 JP5629981 B2 JP 5629981B2
Authority
JP
Japan
Prior art keywords
bus
information
processing unit
unit
diagnostic
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 - Fee Related
Application number
JP2009131371A
Other languages
Japanese (ja)
Other versions
JP2010276544A (en
Inventor
大塚 勝
勝 大塚
五十嵐 稔行
稔行 五十嵐
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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2009131371A priority Critical patent/JP5629981B2/en
Publication of JP2010276544A publication Critical patent/JP2010276544A/en
Application granted granted Critical
Publication of JP5629981B2 publication Critical patent/JP5629981B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)

Description

本発明は、半導体集積回路における故障診断技術に関する。   The present invention relates to a failure diagnosis technique in a semiconductor integrated circuit.

近年、自動車向けのLSI(Large Scale Integration)などの半導体集積回路においては、半導体集積回路の故障検出を行い、重大な事故を招く前に、システムによって事故の発生を防ぐことが求められている。システムを構成する要素や部品の故障リスクを減らすような安全装置を機能として実装することで安全性を高める考え方は、機能安全と呼ばれている。例えば、電子機器の機能安全に関しては国際規格IEC61058が制定されており、また、自動車分野向けの機能安全に関しては国際規格ISO26262が制定される予定であり、今後、安全装置を実装するような機能安全に対する要求が高まる傾向にある。   In recent years, in semiconductor integrated circuits such as LSIs (Large Scale Integration) for automobiles, it is required to detect failures in the semiconductor integrated circuits and prevent the occurrence of accidents by the system before causing a serious accident. The concept of improving safety by implementing a safety device as a function that reduces the risk of failure of the elements and parts that make up the system is called functional safety. For example, the international standard IEC61058 has been established for the functional safety of electronic equipment, and the international standard ISO26262 is scheduled to be established for the functional safety for the automobile field. There is a tendency for demands to increase.

図4に示すようなCPU(Central Processing Unit、中央処理装置)を搭載した半導体集積回路において、CPUの故障を検出する方法として、以下に説明するような方法がある。図4に示す半導体集積回路は、CPU101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、及び周辺部104を有する。CPU101、ROM102、RAM103、及び周辺部104は、システムバスBUSを介して互いに通信可能に接続されている。CPU101は、ROM102等に格納されているプログラムに従って処理を実行し、その処理に応じてRAM103や周辺部104等とシステムバスBUSを介してデータのやりとりを行う。   In a semiconductor integrated circuit equipped with a CPU (Central Processing Unit) as shown in FIG. 4, there is a method described below as a method for detecting a CPU failure. The semiconductor integrated circuit shown in FIG. 4 includes a CPU 101, a ROM (Read Only Memory) 102, a RAM (Random Access Memory) 103, and a peripheral portion 104. The CPU 101, the ROM 102, the RAM 103, and the peripheral unit 104 are connected to be communicable with each other via the system bus BUS. The CPU 101 executes processing according to a program stored in the ROM 102 or the like, and exchanges data with the RAM 103 or the peripheral unit 104 or the like via the system bus BUS according to the processing.

また、図4に示す半導体集積回路は、故障診断機能に係る診断用データ取得部105及び期待値比較部106を有する。診断用データ取得部105は、CPU101の出力をシステムバスBUSに対して出力するための伝送経路に接続され、CPU101の出力から故障判定に必要なデータを取得する。期待値比較部106は、診断用データ取得部105により取得されたデータと予め用意した期待値との比較を行う。   Further, the semiconductor integrated circuit shown in FIG. 4 includes a diagnostic data acquisition unit 105 and an expected value comparison unit 106 relating to the fault diagnosis function. The diagnostic data acquisition unit 105 is connected to a transmission path for outputting the output of the CPU 101 to the system bus BUS, and acquires data necessary for failure determination from the output of the CPU 101. The expected value comparison unit 106 compares the data acquired by the diagnostic data acquisition unit 105 with an expected value prepared in advance.

CPU101の故障を診断するための診断プログラムが予め用意されてROM102に格納され、故障診断時には、CPU101は、ROM102から診断プログラムを読み出して実行する。CPU101は、診断プログラムに係る処理を1ステップずつ行って、処理結果を例えばRAM103にシステムバスBUSを介してストアする。診断用データ取得部105は、システムバスBUSを介してCPU101からRAM103や周辺部104に出力される診断プログラムの処理結果を、その伝送経路上から診断用のデータとして1ステップ毎に又は所定ステップ数毎に取得する。期待値比較部106は、診断用データ取得部105により取得されたデータ毎に、用意した期待値との比較を逐次行い、取得されたデータと期待値とが一致しない場合には故障であると判定する。   A diagnostic program for diagnosing a failure of the CPU 101 is prepared in advance and stored in the ROM 102. When diagnosing the failure, the CPU 101 reads the diagnostic program from the ROM 102 and executes it. The CPU 101 performs processing related to the diagnostic program one step at a time, and stores the processing result in, for example, the RAM 103 via the system bus BUS. The diagnostic data acquisition unit 105 outputs the processing result of the diagnostic program output from the CPU 101 to the RAM 103 and the peripheral unit 104 via the system bus BUS as diagnostic data from the transmission path for each step or a predetermined number of steps. Get every time. The expected value comparing unit 106 sequentially compares the prepared expected value for each data acquired by the diagnostic data acquiring unit 105, and if the acquired data does not match the expected value, it is a failure. judge.

また、半導体記憶装置において、格納された各情報におけるチェックサムを予め格納しておき、試験時には、読み出した情報に基づいてチェックサムを算出し外部に出力するとともに、予め格納されているチェックサムを外部に出力することで、テスタ上でのチェックサムの計算を不要にする方法が提案されている(例えば、特許文献1参照。)。また、シフトパス構造を有する論理回路において、シミュレーションにより故障の場所及び内容を示す診断辞書を作成しておき、テスト時に論理回路の出力値と診断辞書の内容とを比較照合し、故障の場所及び内容を取得する方法が提案されている(例えば、特許文献2参照。)。   Further, in the semiconductor memory device, a checksum in each stored information is stored in advance, and at the time of testing, a checksum is calculated based on the read information and output to the outside. There has been proposed a method in which it is unnecessary to calculate a checksum on a tester by outputting to the outside (see, for example, Patent Document 1). In addition, in a logic circuit having a shift path structure, a diagnostic dictionary showing the location and content of a failure is created by simulation, and the output value of the logic circuit and the content of the diagnostic dictionary are compared and collated at the time of testing, and the location and content of the failure Has been proposed (see, for example, Patent Document 2).

特開平6−36600号公報JP-A-6-36600 特開平11−287845号公報Japanese Patent Laid-Open No. 11-287845

前述したCPUを搭載した半導体集積回路における故障の検出方法では、故障判定に用いる診断用のデータを取得するための診断用データ取得部105が、CPU101の出力をシステムバスBUSに対して出力するための伝送経路に接続されている。そのため、CPU101の出力に係る負荷が診断用データ取得部105によって増加してCPU101の出力に係る伝送速度が落ち、CPU101のパフォーマンス(処理実行能力、性能)に影響を及ぼす。また、診断用データ取得部105により取得したデータ毎に、用意した期待値との比較を行う必要がある。   In the above-described failure detection method in a semiconductor integrated circuit equipped with a CPU, the diagnostic data acquisition unit 105 for acquiring diagnostic data used for failure determination outputs the output of the CPU 101 to the system bus BUS. Connected to the transmission path. Therefore, the load related to the output of the CPU 101 is increased by the diagnostic data acquisition unit 105, the transmission speed related to the output of the CPU 101 is lowered, and the performance (processing execution capability, performance) of the CPU 101 is affected. Moreover, it is necessary to compare with the expected value prepared for every data acquired by the diagnostic data acquisition unit 105.

本発明の目的は、CPUのパフォーマンスに影響を及ぼすことなく、故障診断を行うことを可能にする半導体集積回路を提供することにある。   An object of the present invention is to provide a semiconductor integrated circuit that enables fault diagnosis without affecting the performance of a CPU.

半導体集積回路の一態様は、通常動作に係るデータが伝送される第1のバスに接続する第1のインタフェース、及びそれとは異なる第2のバスに接続する第2のインタフェースを有する処理部と、処理部の外部に配設されて第2のバスに接続され、処理部が故障しているか否かを判定する診断部と、処理部の外部に配設されて第2のバスに接続され、処理部の内部状態を示す第1の情報を含む診断情報を蓄積するデバッガ部と、診断部に接続され、期待値を保持する記憶部とを有する。処理部は、故障診断動作時に、第1のバスを介して、第1のバスに接続される複数の周辺回路とデータの入出力を行うとともに、第2のバスを介して、診断情報をデバッガ部に出力する。診断部は、故障診断動作時に、処理部と複数の周辺回路とのデータの入出力の動作に影響を与えることなく、第2のバスを介してデバッガ部に蓄積される診断情報に含まれる第1の情報から、処理部の故障診断に利用するための第2の情報を抽出することにより、第2の情報に基づいて誤り検出情報を求め、故障診断動作の開始から第1の期間が経過したタイミングで、誤り検出情報と期待値とを比較することにより処理部が故障しているか否かを判定する。 One aspect of the semiconductor integrated circuit includes: a first interface connected to a first bus through which data related to normal operation is transmitted; and a processing unit having a second interface connected to a second bus different from the first interface; A diagnostic unit that is disposed outside the processing unit and connected to the second bus and determines whether or not the processing unit is faulty; and is disposed outside the processing unit and connected to the second bus; A debugger unit that accumulates diagnostic information including first information indicating the internal state of the processing unit, and a storage unit that is connected to the diagnostic unit and holds an expected value. The processing unit inputs / outputs data to / from a plurality of peripheral circuits connected to the first bus via the first bus at the time of a fault diagnosis operation, and also transmits diagnostic information to the debugger via the second bus. To the output. The diagnostic unit includes the first diagnostic information stored in the debugger unit via the second bus without affecting the data input / output operation between the processing unit and the plurality of peripheral circuits during the fault diagnostic operation. By extracting second information to be used for failure diagnosis of the processing unit from information 1, error detection information is obtained based on the second information, and the first period has elapsed since the start of the failure diagnosis operation At this timing, it is determined whether or not the processing unit has failed by comparing the error detection information with the expected value.

通常動作に係るデータが伝送される第1のバスとは異なる第2のバスを介して診断情報を取得して処理部が故障しているか否かを判定するので、通常動作に利用される第1のバスの負荷は増加しない。したがって、パフォーマンスを低下させることなく、パフォーマンスに影響を及ぼさずに故障診断を行うことができる。   Since diagnostic information is acquired via a second bus different from the first bus through which data related to normal operation is transmitted, it is determined whether or not the processing unit has failed. The load on one bus does not increase. Therefore, failure diagnosis can be performed without degrading the performance and without affecting the performance.

本発明の実施形態における半導体集積回路の構成例を示す図である。It is a figure which shows the structural example of the semiconductor integrated circuit in embodiment of this invention. 本実施形態における半導体集積回路の他の構成例を示す図である。It is a figure which shows the other structural example of the semiconductor integrated circuit in this embodiment. 本実施形態における半導体集積回路の動作例を示すフローチャートである。3 is a flowchart showing an operation example of the semiconductor integrated circuit in the present embodiment. CPUを搭載した半導体集積回路の構成を示す図である。It is a figure which shows the structure of the semiconductor integrated circuit carrying CPU.

以下、本発明の実施形態を図面に基づいて説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

図1は、本発明の実施形態における半導体集積回路の構成例を示すブロック図である。
図1に示す本実施形態における半導体集積回路は、CPU(Central Processing Unit、中央処理装置)1、ROM(Read Only Memory)2、RAM(Random Access Memory)3、周辺部4、デバッガモジュール5、及び診断マクロ6を有する。
FIG. 1 is a block diagram illustrating a configuration example of a semiconductor integrated circuit according to an embodiment of the present invention.
1 includes a CPU (Central Processing Unit) 1, a ROM (Read Only Memory) 2, a RAM (Random Access Memory) 3, a peripheral unit 4, a debugger module 5, and A diagnostic macro 6 is included.

CPU1は、プログラムを読み出して実行することで、半導体集積回路内の各機能部を制御する。例えば、CPU1は、プログラムに従って処理を実行し、その処理に応じてRAM3や周辺部4とデータのやりとりを行う。CPU1は、情報(データ)を入出力(入力又は出力の一方である場合も含む。)するための異なる2つのインタフェースIFA、IFBを有する。CPU1は、第1のインタフェースIFAによって第1のバスBUSAに接続され、第2のインタフェースIFBによって第2のバスBUSBに接続される。   The CPU 1 controls each functional unit in the semiconductor integrated circuit by reading and executing the program. For example, the CPU 1 executes a process according to a program, and exchanges data with the RAM 3 and the peripheral unit 4 according to the process. The CPU 1 has two different interfaces IFA and IFB for inputting / outputting information (data) (including the case of being either input or output). The CPU 1 is connected to the first bus BUSA by the first interface IFA, and is connected to the second bus BUSB by the second interface IFB.

第1のバスBUSAは、通常動作において利用されるバス(通常動作に係る通常のデータのやりとりが行われるバス)であり、例えば、システムバス(あるいはリソースバス)と呼ばれる通常のデータのやりとりを行うためのバスである。本実施形態における半導体集積回路においては、第1のバスBUSAを介して、CPU1、ROM2、RAM3、及び周辺部4が互いに通信可能に接続されている。なお、本実施形態では、故障診断のための診断プログラムをCPU1が実行しているときを故障診断動作と呼び、故障診断動作と区別して、診断プログラムとは異なる所定の機能処理を実現するためのプログラムをCPU1が実行しているときを通常動作と呼ぶ。   The first bus BUSA is a bus used in normal operation (a bus in which normal data related to normal operation is exchanged). For example, normal data called a system bus (or resource bus) is exchanged. For the bus. In the semiconductor integrated circuit according to the present embodiment, the CPU 1, the ROM 2, the RAM 3, and the peripheral unit 4 are connected to be communicable with each other via the first bus BUSA. In the present embodiment, when the CPU 1 is executing a diagnostic program for failure diagnosis is referred to as failure diagnosis operation, and distinguished from failure diagnosis operation, a predetermined function process different from the diagnosis program is realized. The time when the CPU 1 is executing the program is called normal operation.

第2のバスBUSBは、通常動作には利用されないバス(通常動作に係る通常のデータのやりとりが行われないバス)であり、例えば、トレースバスと呼ばれる各種情報(例えば、デバッグ用のトレース情報(デバッグ情報))が伝送されるバスである。本実施形態における半導体集積回路においては、第2のバスBUSBを介して、CPU1とデバッガモジュール5とが通信可能に接続されるとともに、伝送される各種情報を取得可能なように診断マクロ6が第2のバスBUSBに接続されている。   The second bus BUSB is a bus that is not used for normal operation (a bus that does not exchange normal data related to normal operation). For example, various information called a trace bus (for example, trace information for debugging ( Debug information)) is transmitted on the bus. In the semiconductor integrated circuit according to this embodiment, the CPU 1 and the debugger module 5 are communicably connected via the second bus BUSB, and the diagnostic macro 6 is provided so that various types of transmitted information can be acquired. 2 bus BUSB.

ROM2には、CPU1が実行するプログラムや、プログラムに従って行われる処理に用いるデータ等が格納されている。本実施形態においては、少なくとも故障診断を行うための診断プログラムがROM2に格納されているものとする。なお、CPU1が実行するプログラムや、それに係る処理に用いるデータ等は、周辺部4から供給するようにしても良いし、外部から周辺部4を介して供給するようにしても良い。   The ROM 2 stores a program executed by the CPU 1, data used for processing performed according to the program, and the like. In the present embodiment, it is assumed that at least a diagnostic program for performing a fault diagnosis is stored in the ROM 2. Note that the program executed by the CPU 1, data used for processing related thereto, and the like may be supplied from the peripheral unit 4, or may be supplied from the outside via the peripheral unit 4.

RAM3は、CPU1が実行するプログラムの処理結果等のデータを一時的に記憶するメモリであり、CPU1のいわゆる主メモリあるいはワークエリア等として機能する。周辺部4は、所定の機能を実現する機能部である。   The RAM 3 is a memory that temporarily stores data such as a processing result of a program executed by the CPU 1, and functions as a so-called main memory or work area of the CPU 1. The peripheral unit 4 is a functional unit that realizes a predetermined function.

デバッガモジュール5は、実際の動作とは別にCPU1から第2のバスBUSBを介して出力されるCPU1の内部状態を示す各種情報を蓄積する。第2のバスBUSBを介してCPU1から出力される各種情報には、プログラムの実行中に蓄積され、プログラムに係る動作が異常である場合に蓄積された情報をたどっていき動作解析を行うための情報(例えば、デバッグ用のトレース情報(デバッグ情報))が含まれる。   The debugger module 5 accumulates various types of information indicating the internal state of the CPU 1 output from the CPU 1 via the second bus BUSB separately from the actual operation. Various information output from the CPU 1 via the second bus BUSB is accumulated during the execution of the program, and is used to perform an operation analysis by tracing the accumulated information when the operation related to the program is abnormal. Information (for example, trace information for debugging (debug information)) is included.

診断マクロ6は、故障診断のための診断プログラムの実行に伴って第2のバスBUSBを介しCPU1から出力されるCPU1の内部状態を示す各種情報から、故障診断に利用する診断用のデータTIを抽出する。本実施形態では一例として、診断マクロ6は、CPU1から出力されるデバッグ用のトレース情報から、命令実行アドレス、ストア命令時のストアアドレス、ストアデータ、ロード命令実行時のリードアドレス、リードデータを診断用のデータTIとして抽出する。   The diagnosis macro 6 generates diagnosis data TI to be used for failure diagnosis from various information indicating the internal state of the CPU 1 output from the CPU 1 via the second bus BUSB when the diagnosis program for failure diagnosis is executed. Extract. As an example in the present embodiment, the diagnostic macro 6 diagnoses the instruction execution address, the store address at the time of the store instruction, the store data, the read address at the time of execution of the load instruction, and the read data from the debug trace information output from the CPU 1. Is extracted as data TI for use.

また、診断マクロ6は、抽出した診断用のデータTIに基づいて誤り検出情報を求め、求めた誤り検出情報に基づいてCPU1が故障しているか否かを判定する。例えば、診断マクロ6は、チェックサム演算部を有し、抽出した診断用のデータTIから誤り検出情報としてチェックサムを算出する。診断マクロ6は、診断プログラムの実行により得られる最終的なチェックサムの演算結果と、予め用意した期待値との比較を行い、比較結果に基づいて故障か否かを判定する。診断マクロ6におけるチェックサムの算出については、任意のチェックサムアルゴリズム方式(例えば、CRCチェックサム、Alder−32チェックサム、Fletcher−32チェックサム等)が適用可能である。   The diagnostic macro 6 obtains error detection information based on the extracted diagnostic data TI, and determines whether or not the CPU 1 has failed based on the obtained error detection information. For example, the diagnostic macro 6 includes a checksum calculation unit, and calculates a checksum as error detection information from the extracted diagnostic data TI. The diagnostic macro 6 compares the final checksum calculation result obtained by executing the diagnostic program with an expected value prepared in advance, and determines whether or not there is a failure based on the comparison result. For the checksum calculation in the diagnostic macro 6, any checksum algorithm method (for example, CRC checksum, Alder-32 checksum, Fletcher-32 checksum, etc.) can be applied.

図1に示す半導体集積回路において、通常動作時には、CPU1が所定のプログラムに従って処理を実行し、CPU1が処理に応じてRAM3や周辺部4等と第1のバスBUSAを介してデータのやりとりを行うことで、所定の機能処理を行う。   In the semiconductor integrated circuit shown in FIG. 1, during normal operation, the CPU 1 executes processing according to a predetermined program, and the CPU 1 exchanges data via the first bus BUSA with the RAM 3 and the peripheral unit 4 according to the processing. Thus, predetermined function processing is performed.

また、故障診断動作時には、CPU1は、故障診断のための診断プログラムを読み出して実行する。診断プログラムの実行中、CPU1は、処理に応じて第1のバスBUSAを介してRAM3や周辺部4等とデータのやりとりを行うとともに、第2のバスBUSBを介して実際の動作とは別にデバッグ用のトレース情報等の各種情報を出力する。また、診断プログラムの実行中、診断マクロ6は、CPU1から第2のバスBUSBを介し出力される各種情報から故障診断に利用する診断用のデータTIを抽出して、抽出した診断用のデータTIを用いて誤り検出情報を求める。そして、診断マクロ6は、診断プログラムの実行を開始して以降の全期間にわたって求められた最終的な誤り検出情報と、予め用意されている期待値との比較を行い、最終的な誤り検出情報と期待値とが一致しない場合には故障であると判定し、一致する場合には故障でないと判定する。   Further, during the failure diagnosis operation, the CPU 1 reads and executes a diagnosis program for failure diagnosis. During execution of the diagnostic program, the CPU 1 exchanges data with the RAM 3 and the peripheral unit 4 via the first bus BUSA according to the processing, and debugs separately from the actual operation via the second bus BUSB. Output various information such as trace information. Further, during execution of the diagnostic program, the diagnostic macro 6 extracts diagnostic data TI used for failure diagnosis from various information output from the CPU 1 via the second bus BUSB, and extracts the diagnostic data TI extracted. Is used to obtain error detection information. Then, the diagnostic macro 6 compares the final error detection information obtained over the entire period after the execution of the diagnostic program and the expected value prepared in advance to obtain the final error detection information. If the expected value and the expected value do not match, it is determined that there is a failure, and if they match, it is determined that there is no failure.

このように、本実施形態における半導体集積回路は、通常動作において利用される第1のバスBUSAとは異なる通常動作には利用されない第2のバスBUSBを介して伝送される情報から診断用のデータTIを取得し、CPU1の故障診断を行う。これにより、第1のバスBUSAに係る負荷を増加させることなく、故障診断を行うことができ、CPU1のパフォーマンスも低下しない。したがって、CPU1のパフォーマンスに影響を及ぼすことなく、故障診断を行うことが可能になる。   As described above, the semiconductor integrated circuit according to the present embodiment uses diagnostic data from information transmitted via the second bus BUSB that is not used for normal operation different from the first bus BUSA used for normal operation. TI is acquired and a failure diagnosis of the CPU 1 is performed. As a result, failure diagnosis can be performed without increasing the load on the first bus BUSA, and the performance of the CPU 1 is not degraded. Therefore, failure diagnosis can be performed without affecting the performance of the CPU 1.

また、本実施形態における半導体集積回路では、取得した診断用のデータTI毎に期待値との比較を行うのではなく、診断プログラムの実行により得られた最終的な誤り検出情報と期待値とを比較して故障であるか否かを判定するので、比較に係る処理量を軽減することができる。また、取得した診断用のデータTI毎に期待値を用意する必要がなく、最終的な誤り検出情報と比較する1つの期待値だけを用意すれば良く、用意する期待値の数を削減でき、期待値を保持するための記憶容量を低減することができる。   In the semiconductor integrated circuit according to the present embodiment, the final error detection information and the expected value obtained by executing the diagnostic program are not compared with the expected value for each acquired diagnostic data TI. Since it is determined whether or not it is a failure by comparison, the processing amount related to the comparison can be reduced. Further, it is not necessary to prepare an expected value for each acquired diagnostic data TI, it is sufficient to prepare only one expected value to be compared with the final error detection information, and the number of expected values to be prepared can be reduced. The storage capacity for holding the expected value can be reduced.

図2は、本発明の実施形態における半導体集積回路の他の構成例を示すブロック図である。なお、図2において、図1に示した構成要素と同一の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。   FIG. 2 is a block diagram showing another configuration example of the semiconductor integrated circuit according to the embodiment of the present invention. In FIG. 2, components having the same functions as those shown in FIG. 1 are given the same reference numerals, and redundant descriptions are omitted.

図2に示す半導体集積回路は、CPU1、ROM2、RAM3、周辺部4、デバッガモジュール5、及び診断マクロ6に加え、期待値レジスタ11、比較タイミング用タイマ12、比較タイミング用タイマ値レジスタ13、監視用タイマ14、監視用タイマ値レジスタ15、及び情報レジスタ16を有する。   The semiconductor integrated circuit shown in FIG. 2 includes an expected value register 11, a comparison timing timer 12, a comparison timing timer value register 13, a monitor, in addition to the CPU 1, the ROM 2, the RAM 3, the peripheral unit 4, the debugger module 5, and the diagnostic macro 6. A timer 14 for monitoring, a timer value register 15 for monitoring, and an information register 16.

期待値レジスタ11は、診断プログラムの実行に応じて算出される誤り検出情報の期待値を保持するレジスタである。診断マクロ6は、期待値レジスタ11を参照し、期待値比較タイミングにおいて診断用のデータTIに基づき求めた誤り検出情報と期待値レジスタ11に保持されている期待値との比較を行う。   The expected value register 11 is a register that holds an expected value of error detection information calculated in accordance with the execution of the diagnostic program. The diagnostic macro 6 refers to the expected value register 11 and compares the error detection information obtained based on the diagnostic data TI at the expected value comparison timing with the expected value held in the expected value register 11.

比較タイミング用タイマ12は、診断用のデータTIに基づき求めた誤り検出情報と期待値との比較を行う期待値比較タイミングを生成するタイマである。比較タイミング用タイマ12は、診断プログラムの実行中において所定時間が経過する毎にタイマ値がカウントダウン(デクリメント)され、タイマ値が“0”となったとき期待値比較タイミングであることを示す。比較タイミング用タイマ値レジスタ13は、期待値比較タイミングに係るタイマ値、言い換えれば比較タイミング用タイマ12におけるタイマ値の初期値を保持するレジスタである。診断プログラムの実行が開始されると、比較タイミング用タイマ値レジスタ13からタイマ値が比較タイミング用タイマ12にロードされ設定される。   The comparison timing timer 12 is a timer that generates an expected value comparison timing for comparing the error detection information obtained based on the diagnostic data TI with the expected value. The comparison timing timer 12 counts down (decrements) every time a predetermined time elapses during the execution of the diagnostic program, and indicates that it is the expected value comparison timing when the timer value becomes “0”. The comparison timing timer value register 13 is a register that holds a timer value related to the expected value comparison timing, in other words, an initial value of the timer value in the comparison timing timer 12. When execution of the diagnostic program is started, the timer value is loaded from the comparison timing timer value register 13 to the comparison timing timer 12 and set.

監視用タイマ14は、診断プログラムの実行を開始した後、診断プログラムに係る処理が終了する時間が経過しても処理の終了が確認されない場合に、CPU1に対してリセットをかけるリセットタイミングを生成するタイマである。監視用タイマ14は、診断プログラムの実行中において所定時間が経過する毎にタイマ値がカウントダウン(デクリメント)され、タイマ値が“0”となったときリセットタイミングであることを示す。監視用タイマ値レジスタ15は、リセットタイミングに係るタイマ値、言い換えれば監視用タイマ14におけるタイマ値の初期値を保持するレジスタである。診断プログラムの実行が開始されると、監視用タイマ値レジスタ15からタイマ値が監視用タイマ14にロードされ設定される。   The monitoring timer 14 generates a reset timing for resetting the CPU 1 when the end of the process is not confirmed even after the time for completing the process related to the diagnostic program has elapsed after the execution of the diagnostic program is started. It is a timer. The monitoring timer 14 counts down (decrements) every time a predetermined time elapses during execution of the diagnostic program, and indicates that it is a reset timing when the timer value becomes “0”. The monitoring timer value register 15 is a register that holds a timer value related to reset timing, in other words, an initial value of the timer value in the monitoring timer 14. When execution of the diagnostic program is started, a timer value is loaded from the monitoring timer value register 15 to the monitoring timer 14 and set.

情報レジスタ16は、故障診断動作に係る情報を保持するレジスタである。情報レジスタ16は、CPU1に対してリセットをかけた場合であってもリセット(初期化)されずに情報を保持可能なレジスタである。情報レジスタ16は、例えば、CPU1に対してリセットをかけた場合に、そのことを示すフラグを保持する。   The information register 16 is a register that holds information related to the failure diagnosis operation. The information register 16 is a register that can hold information without being reset (initialized) even when the CPU 1 is reset. For example, when the CPU 1 is reset, the information register 16 holds a flag indicating that fact.

次に、図2に示した半導体集積回路の動作について説明する。
通常動作時には、半導体集積回路は、CPU1が所定のプログラムに従って処理を実行し、CPU1が処理に応じてRAM3や周辺部4等と第1のバスBUSAを介してデータのやりとりを行うことで、所定の機能処理を行う。
Next, the operation of the semiconductor integrated circuit shown in FIG. 2 will be described.
During normal operation, the semiconductor integrated circuit performs processing according to a predetermined program by the CPU 1, and the CPU 1 exchanges data with the RAM 3, the peripheral unit 4 and the like via the first bus BUSA according to the processing. Perform functional processing.

故障診断動作について、図3を参照して説明する。図3は、図2に示した半導体集積回路における故障診断動作の一例を示すフローチャートである。なお、以下の説明では、診断マクロ6は、誤り検出情報としてチェックサムを算出し、そのチェックサムアルゴリズム方式としてCRCチェックサムを用いるものとする。すなわち、診断マクロ6は、CRC演算部を有し、抽出した診断用のデータTIに基づいてCRC演算を行うものとする。   The failure diagnosis operation will be described with reference to FIG. FIG. 3 is a flowchart showing an example of a failure diagnosis operation in the semiconductor integrated circuit shown in FIG. In the following description, it is assumed that the diagnosis macro 6 calculates a checksum as error detection information and uses a CRC checksum as the checksum algorithm method. That is, the diagnosis macro 6 has a CRC calculation unit and performs CRC calculation based on the extracted diagnostic data TI.

故障診断動作を開始する際、まず、ステップS1にて、故障診断動作に係る初期設定が行われる。ステップS1における初期設定では、故障診断を行うための診断プログラムがROM3に格納されるとともに、期待値レジスタ11に期待値が格納される。また、ステップS1における初期設定では、比較タイミング用タイマ値レジスタ13及び監視用タイマ値レジスタ15にそれぞれタイマ値が格納される。なお、これらの処理(診断プログラムの格納、期待値の格納、タイマ値の格納)を行う順序は任意であり、診断プログラムの実行を開始する前にすべての処理が完了していれば良い。   When starting the failure diagnosis operation, first, in step S1, initial setting related to the failure diagnosis operation is performed. In the initial setting in step S1, a diagnostic program for performing failure diagnosis is stored in the ROM 3, and an expected value is stored in the expected value register 11. In the initial setting in step S1, timer values are stored in the comparison timing timer value register 13 and the monitoring timer value register 15, respectively. Note that the order in which these processes (diagnostic program storage, expected value storage, and timer value storage) are performed is arbitrary, and it is sufficient that all processes are completed before the execution of the diagnostic program is started.

ステップS2にて、CPU1は、ROM3に格納された診断プログラムの実行を開始する。また、診断プログラムの実行開始と同時に、比較タイミング用タイマ値レジスタ13及び監視用タイマ値レジスタ15からタイマ値が比較タイミング用タイマ12及び監視用タイマ14にそれぞれロードされ、各タイマ12、14が動作(カウントダウン)を開始する。なお、比較タイミング用タイマ値レジスタ13及び監視用タイマ値レジスタ15から比較タイミング用タイマ12及び監視用タイマ14へのタイマ値のロードは、診断プログラムの実行開始前に予め行っていても良い。   In step S <b> 2, the CPU 1 starts executing the diagnostic program stored in the ROM 3. Simultaneously with the start of execution of the diagnostic program, timer values are loaded from the comparison timing timer value register 13 and the monitoring timer value register 15 to the comparison timing timer 12 and the monitoring timer 14, respectively. Start (countdown). Note that loading of the timer values from the comparison timing timer value register 13 and the monitoring timer value register 15 to the comparison timing timer 12 and the monitoring timer 14 may be performed in advance before the execution of the diagnostic program.

次に、ステップS3にて、診断マクロ6は、診断プログラムの実行に伴って第2のバスBUSBを介しCPU1から出力されるデバッグ用のトレース情報から、命令実行アドレス、ストア命令時のストアアドレス、ストアデータ、ロード命令実行時のリードアドレス、リードデータを診断用のデータTIとして抽出する。さらに、診断マクロ6は、抽出した診断用のデータTIを診断マクロ6に内蔵されているCRC演算部に取り込んでCRC演算を行う。ステップS3での処理は、診断プログラムの実行を開始してから期待値比較タイミングになるまで行われる。   Next, in step S3, the diagnostic macro 6 determines the instruction execution address, the store address at the time of the store instruction, from the trace information for debugging output from the CPU 1 via the second bus BUSB as the diagnostic program is executed. Store data, a read address at the time of executing a load instruction, and read data are extracted as diagnostic data TI. Furthermore, the diagnostic macro 6 takes the extracted diagnostic data TI into a CRC calculation unit built in the diagnostic macro 6 and performs CRC calculation. The process in step S3 is performed from the start of the execution of the diagnostic program until the expected value comparison timing is reached.

次に、ステップS4にて、診断マクロ6は、比較タイミング用タイマ12のタイマ値が“0”になったとき、すなわち期待値比較タイミングで、診断用のデータTIに基づくCRC演算結果(CRCチェックサム)と期待値とを比較する。比較の結果、CRC演算結果(CRCチェックサム)と期待値とが一致する場合には(ステップS5のYES)、正常であるとして診断動作を終了する。   Next, in step S4, when the timer value of the comparison timing timer 12 becomes “0”, that is, at the expected value comparison timing, the diagnosis macro 6 performs a CRC calculation result (CRC check) based on the diagnosis data TI. Sam) and expected value. As a result of the comparison, if the CRC calculation result (CRC checksum) matches the expected value (YES in step S5), the diagnosis operation is terminated as normal.

一方、ステップS4での比較の結果、診断マクロ6は、CRC演算結果(CRCチェックサム)と期待値とが異なる場合には(ステップS5のNO)、故障であると判定し、ステップS6にてCPU1に対するNMI(Non Maskable Interrupt、割り込み)を発行する。   On the other hand, as a result of the comparison in step S4, when the CRC calculation result (CRC checksum) and the expected value are different (NO in step S5), the diagnosis macro 6 determines that there is a failure, and in step S6 Issue NMI (Non Maskable Interrupt) to CPU1.

NMIの発行後、診断マクロ6は、CPU1にてNMIが受け付けられたか否かを監視する(ステップS7)。そして、CPU1にてNMIが受け付けられたと判断した場合には(ステップS7のYES)、診断動作を終了する。一方、診断マクロ6は、CPU1にてNMIが受け付けられることなく(ステップS7のNO)、NMIが受け付けられるはずの時間が経過した場合には(ステップS8のYES)、ステップS9に進む。NMIが受け付けられるはずの時間が経過したか否かの判断は、監視用タイマ14のタイマ値に基づいて行われ、タイマ値が“0”になったとき、すなわちリセットタイミングでNMIが受け付けられるはずの時間が経過したと判定する。   After issuing the NMI, the diagnostic macro 6 monitors whether or not the NMI is accepted by the CPU 1 (step S7). If the CPU 1 determines that the NMI has been accepted (YES in step S7), the diagnostic operation is terminated. On the other hand, if the NMI is not accepted by the CPU 1 (NO in step S7), the diagnostic macro 6 proceeds to step S9 if the time for which the NMI should be accepted has elapsed (YES in step S8). The determination as to whether or not the time for which the NMI should be accepted has passed has been made based on the timer value of the monitoring timer 14, and when the timer value has become “0”, that is, the NMI should be accepted at the reset timing. Is determined to have elapsed.

ステップS9にて、診断マクロ6は、CPU1に対してリセットをかけ、動作を終了する。また、ステップS9においてCPU1に対しリセットをかける際、診断マクロ6は、情報レジスタ16にNMIが受け付けられないことが原因でリセットが発生したことを示すフラグを設定する。なお、前述したように情報レジスタ16は、CPU1に対してリセットをかけた場合でもリセットされないレジスタである。これにより、リセット状態から復帰したときに情報レジスタ16の情報を読み出すことで、リセットの発生要因を解析することができ、NMIが受け付けられずにリセットされたことがわかる。   In step S9, the diagnostic macro 6 resets the CPU 1 and ends the operation. When resetting the CPU 1 in step S9, the diagnostic macro 6 sets a flag indicating that the reset has occurred because the NMI is not accepted by the information register 16. As described above, the information register 16 is a register that is not reset even when the CPU 1 is reset. Thus, by reading the information in the information register 16 when returning from the reset state, the cause of the reset can be analyzed, and it can be seen that the NMI was not accepted and was reset.

本実施形態によれば、第2のバスBUSBを介して伝送される情報から診断用のデータTIを取得してCPU1の故障診断を行うので、通常動作において利用される第1のバスBUSAに係る負荷を増加させることなく、故障診断を行うことができる。したがって、CPU1のパフォーマンスに影響を及ぼすことなく、故障診断を行うことが可能になる。また、本実施形態によれば、誤り検出情報と期待値との比較動作は1回だけ行うので、比較に係る処理量を軽減することができる。また、1つの期待値だけを用意すれば良く、用意する期待値の数を削減でき、期待値を保持するための記憶容量を低減することができる。   According to the present embodiment, the diagnosis data TI is acquired from the information transmitted via the second bus BUSB and the failure diagnosis of the CPU 1 is performed, so that the first bus BUSA used in the normal operation is related. Failure diagnosis can be performed without increasing the load. Therefore, failure diagnosis can be performed without affecting the performance of the CPU 1. Further, according to the present embodiment, the comparison operation between the error detection information and the expected value is performed only once, so that the processing amount related to the comparison can be reduced. Moreover, only one expected value needs to be prepared, the number of expected values to be prepared can be reduced, and the storage capacity for holding the expected value can be reduced.

なお、診断マクロ6は、診断プログラムの実行が開始されてから診断プログラムが終了する時間が経過しても終了しない場合には、CPU1が暴走したと判断して診断動作を中止するようにしても良い。例えば、CRC演算結果(CRCチェックサム)と期待値とが不一致であったがNMIの発行がなされないなど、故障診断動作が異常となった場合に診断動作を中止することができる。診断プログラムが終了する時間が経過したか否かの判断は、例えば監視用タイマ14の機能を拡張させたり、新たにタイマを設けたりして、タイマ値等に基づき行えば良い。   The diagnosis macro 6 may determine that the CPU 1 has runaway and stop the diagnosis operation when the diagnosis macro 6 does not end even after the time for the diagnosis program to end after the execution of the diagnosis program has started. good. For example, the diagnosis operation can be stopped when the failure diagnosis operation becomes abnormal such that the CRC calculation result (CRC checksum) does not match the expected value but NMI is not issued. The determination as to whether or not the time for ending the diagnostic program has passed may be made based on the timer value or the like by, for example, extending the function of the monitoring timer 14 or providing a new timer.

また、NMIが発行されたときの求められている誤り検出情報及び監視用タイマ14のタイマ値を情報レジスタ16に取り込んで保持し、読み出し可能にしても良い。例えば、期待値レジスタ11及び比較タイミング用タイマ値レジスタ13に適当な値を設定して診断プログラムを実行し、意図的にNMIを発行させて、そのときの誤り検出情報及び監視用タイマ14のタイマ値を取得する。これにより、取得した誤り検出情報を、診断プログラムを実行した際に比較する期待値として得ることができる。また、取得した監視用タイマ14のタイマ値からCRC演算結果と期待値との比較を行ったときのタイマ値を推測することで、診断プログラムの実行における期待値比較タイミングに係るタイマ値を得ることができる。   Further, the error detection information required when the NMI is issued and the timer value of the monitoring timer 14 may be fetched and held in the information register 16 so that they can be read out. For example, an appropriate value is set in the expected value register 11 and the comparison timing timer value register 13 to execute a diagnostic program, and an NMI is intentionally issued. At that time, error detection information and a timer of the monitoring timer 14 Get the value. Thereby, the acquired error detection information can be obtained as an expected value to be compared when the diagnostic program is executed. In addition, a timer value related to the expected value comparison timing in the execution of the diagnostic program is obtained by estimating the timer value when the CRC calculation result is compared with the expected value from the acquired timer value of the monitoring timer 14 Can do.

また、本実施形態では、比較タイミング用タイマ12は、診断プログラムの実行を開始した後、タイマ値がカウントダウン(デクリメント)されるタイマとしているが、タイマ値がカウントアップ(インクリメント)されるタイマであっても良い。比較タイミング用タイマ12としてタイマ値がカウントアップされるタイマを用いた場合には、例えば、診断プログラムの実行開始時に比較タイミング用タイマ12を初期化して動作を開始し、タイマ値が比較タイミング用タイマ値レジスタ13に設定された値となったときを期待値比較タイミングとすれば良い。   In this embodiment, the comparison timing timer 12 is a timer whose timer value is counted down (decremented) after the execution of the diagnostic program is started, but is a timer whose timer value is counted up (incremented). May be. When a timer whose timer value is counted up is used as the comparison timing timer 12, for example, the comparison timing timer 12 is initialized at the start of execution of the diagnostic program, and the operation is started. The expected value comparison timing may be set when the value set in the value register 13 is reached.

また、監視用タイマ14は、タイマ値がカウントダウン(デクリメント)されるタイマとしているが、タイマ値がカウントアップ(インクリメント)されるタイマであっても良い。監視用タイマ14としてタイマ値がカウントアップされるタイマを用いた場合には、例えば、診断プログラムの実行開始時に監視用タイマ14を初期化して動作を開始し、タイマ値が監視用タイマ値レジスタ15に設定された値となったときをリセットタイミングとすれば良い。   Further, although the monitoring timer 14 is a timer whose timer value is counted down (decremented), it may be a timer whose timer value is counted up (incremented). When a timer whose timer value is counted up is used as the monitoring timer 14, for example, the monitoring timer 14 is initialized at the start of execution of the diagnostic program, and the operation is started. The time when the value becomes the reset timing may be set as the reset timing.

また、本実施形態における半導体集積回路において、監視用タイマ14及び監視用タイマ値レジスタ15を設けるか否かは任意であり、設けなくとも故障診断動作を実現することができる。また、情報レジスタ16も、設けるか否かは任意であり、設けなくとも故障診断動作を実現することができる。   In the semiconductor integrated circuit according to the present embodiment, whether or not to provide the monitoring timer 14 and the monitoring timer value register 15 is arbitrary, and a failure diagnosis operation can be realized without providing the monitoring timer 14 and the monitoring timer value register 15. Further, whether or not the information register 16 is provided is arbitrary, and a failure diagnosis operation can be realized without providing the information register 16.

なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の諸態様を付記として以下に示す。
The above-described embodiments are merely examples of implementation in carrying out the present invention, and the technical scope of the present invention should not be construed as being limited thereto. That is, the present invention can be implemented in various forms without departing from the technical idea or the main features thereof.
Various aspects of the present invention will be described below as supplementary notes.

(付記1)通常動作に係るデータが伝送される第1のバスに接続する第1のインタフェース、及び前記第1のバスとは異なる第2のバスに接続する第2のインタフェースを有する処理部と、
前記第2のバスに接続され、前記処理部から出力される診断情報に基づいて誤り検出情報を求め、求めた前記誤り検出情報に基づいて前記処理部が故障しているか否かを判定する診断部とを有し、
1つの期待値が保持され、
前記診断部は、プログラムの実行に応じて求められた最終の誤り検出情報と前記期待値との比較により前記処理部が故障しているか否かを判定することを特徴とする半導体集積回路。
(付記2)前記誤り検出情報は、チェックサムであることを特徴とする付記1記載の半導体集積回路。
(付記3)前記第2のバスは、前記処理部から出力される前記処理部の内部状態を示す情報が伝送されるバスであることを特徴とする付記1又は2記載の半導体集積回路。
(付記4)前記処理部の内部状態を示す情報は、前記処理部でのプログラムの実行に係るトレース情報であることを特徴とする付記3記載の半導体集積回路。
(付記5)前記診断部で前記誤り検出情報と前記期待値との比較を行うタイミングを生成するタイマを有することを特徴とする付記1〜4の何れか1項に記載の半導体集積回路。
(付記6)前記診断部は、前記誤り検出情報と前記期待値とが異なる場合には、前記処理部に対する割り込みを発行することを特徴とする付記1〜5の何れか1項に記載の半導体集積回路。
(付記7)前記診断部は、前記割り込みを発行してから所定時間が経過するまでに前記割り込みに係る処理が行われない場合には、前記処理部に対してリセットをかけることを特徴とする付記6記載の半導体集積回路。
(付記8)前記診断部は、前記リセットをかけた際に前記リセットの発生要因を示すフラグを設定することを特徴とする付記7記載の半導体集積回路。
(付記9)前記割り込みが発行されたときの前記処理部により求められた誤り検出情報及びプログラムの実行開始からの時間を示す時間情報を保持するレジスタを有することを特徴とする付記6記載の半導体集積回路。
(付記10)前記診断部は、前記診断情報を用いてCRC演算を行い、前記誤り検出情報としてチェックサムを算出することを特徴とする付記1〜9の何れか1項に記載の半導体集積回路。
(付記11)前記第1のバスはシステムバスであり、前記第2のバスはトレースバスであることを特徴とする付記1〜10の何れか1項に記載の半導体集積回路。
(付記12)通常動作に係るデータが伝送される第1のバスに接続する第1のインタフェース、及び前記第1のバスとは異なる第2のバスに接続する第2のインタフェースを有する処理部から前記第2のバスに出力される診断情報に基づいて誤り検出情報を求める演算工程と、
求めた前記誤り検出情報に基づいて前記処理部が故障しているか否かを判定する判定工程とを有し、
1つの期待値を予め保持し、前記判定工程にて、診断プログラムの実行に応じて求められた最終の誤り検出情報と前記期待値とを比較し前記処理部が故障しているか否かを判定することを特徴とする半導体集積回路の故障診断方法。
(Supplementary note 1) a processing unit having a first interface connected to a first bus through which data related to normal operation is transmitted, and a second interface connected to a second bus different from the first bus; ,
Diagnosis that is connected to the second bus, obtains error detection information based on diagnostic information output from the processing unit, and determines whether the processing unit is faulty based on the obtained error detection information And
One expected value is retained,
The diagnostic unit determines whether or not the processing unit is out of order by comparing the final error detection information obtained in accordance with execution of a program and the expected value.
(Supplementary note 2) The semiconductor integrated circuit according to supplementary note 1, wherein the error detection information is a checksum.
(Supplementary note 3) The semiconductor integrated circuit according to Supplementary note 1 or 2, wherein the second bus is a bus through which information indicating an internal state of the processing unit output from the processing unit is transmitted.
(Additional remark 4) The information which shows the internal state of the said process part is the trace information which concerns on execution of the program in the said process part, The semiconductor integrated circuit of Additional remark 3 characterized by the above-mentioned.
(Additional remark 5) It has a timer which produces | generates the timing which compares the said error detection information with the said expected value in the said diagnostic part, The semiconductor integrated circuit of any one of Additional remark 1-4 characterized by the above-mentioned.
(Supplementary note 6) The semiconductor according to any one of supplementary notes 1 to 5, wherein the diagnostic unit issues an interrupt to the processing unit when the error detection information and the expected value are different. Integrated circuit.
(Additional remark 7) The said diagnostic part resets the said process part, when the process which concerns on the said interrupt is not performed by the predetermined time after issuing the said interrupt. The semiconductor integrated circuit according to appendix 6.
(Supplementary note 8) The semiconductor integrated circuit according to supplementary note 7, wherein the diagnostic unit sets a flag indicating a cause of occurrence of the reset when the reset is applied.
(Supplementary note 9) The semiconductor according to supplementary note 6, further comprising a register that holds error detection information obtained by the processing unit when the interrupt is issued and time information indicating a time from the start of execution of a program Integrated circuit.
(Supplementary note 10) The semiconductor integrated circuit according to any one of supplementary notes 1 to 9, wherein the diagnosis unit performs a CRC calculation using the diagnosis information and calculates a checksum as the error detection information. .
(Supplementary note 11) The semiconductor integrated circuit according to any one of Supplementary notes 1 to 10, wherein the first bus is a system bus, and the second bus is a trace bus.
(Supplementary Note 12) From a processing unit having a first interface connected to a first bus through which data related to normal operation is transmitted, and a second interface connected to a second bus different from the first bus A calculation step for obtaining error detection information based on diagnostic information output to the second bus;
A determination step of determining whether or not the processing unit has failed based on the obtained error detection information,
One expected value is stored in advance, and in the determination step, the final error detection information obtained in accordance with the execution of the diagnostic program is compared with the expected value to determine whether the processing unit is out of order. A fault diagnosis method for a semiconductor integrated circuit.

1 CPU
2 ROM
3 RAM
4 周辺部
5 デバッガモジュール
6 診断マクロ
11 期待値レジスタ
12 比較タイミング用タイマ
13 比較タイミング用タイマ値レジスタ
14 監視用タイマ
15 監視用タイマ値レジスタ
16 情報レジスタ
BUSA 第1のバス
BUSB 第2のバス
IFA 第1のバスインタフェース
IFB 第2のバスインタフェース
1 CPU
2 ROM
3 RAM
4 Peripheral 5 Debugger Module 6 Diagnostic Macro 11 Expected Value Register 12 Comparison Timing Timer 13 Comparison Timing Timer Value Register 14 Monitoring Timer 15 Monitoring Timer Value Register 16 Information Register BUSA First Bus BUSB Second Bus IFA First 1 bus interface IFB 2nd bus interface

Claims (6)

通常動作に係るデータが伝送される第1のバスに接続する第1のインタフェース、及び前記第1のバスとは異なる第2のバスに接続する第2のインタフェースを有する処理部と、
前記処理部の外部に配設されて前記第2のバスに接続され、前記処理部が故障しているか否かを判定する診断部と、
前記処理部の外部に配設されて前記第2のバスに接続され、前記処理部の内部状態を示す第1の情報を含む診断情報を蓄積するデバッガ部と、
前記診断部に接続され、期待値を保持する記憶部と
を有し、
前記処理部は、故障診断動作時に、前記第1のバスを介して、前記第1のバスに接続される複数の周辺回路とデータの入出力を行うとともに、前記第2のバスを介して、前記診断情報を前記デバッガ部に出力し、
前記診断部は、前記故障診断動作時に、前記処理部と前記複数の周辺回路との前記データの入出力の動作に影響を与えることなく、前記第2のバスを介して前記デバッガ部に蓄積される前記診断情報に含まれる前記第1の情報から、前記処理部の故障診断に利用するための第2の情報を抽出することにより、前記第2の情報に基づいて誤り検出情報を求め、前記故障診断動作の開始から第1の期間が経過したタイミングで、前記誤り検出情報と前記期待値とを比較することにより前記処理部が故障しているか否かを判定することを特徴とする半導体集積回路。
A processing unit having a first interface connected to a first bus through which data related to normal operation is transmitted, and a second interface connected to a second bus different from the first bus;
A diagnostic unit disposed outside the processing unit and connected to the second bus to determine whether the processing unit is faulty;
A debugger unit that is disposed outside the processing unit and connected to the second bus, and stores diagnostic information including first information indicating an internal state of the processing unit;
A storage unit connected to the diagnostic unit and holding an expected value;
Wherein the processing unit at the time of failure diagnosis operation, over the first bus, with input and output of a plurality of peripheral circuits and the data connected to the first bus via the second bus, before outputs cross information to the debugger portion,
The diagnosis unit is stored in the debugger unit via the second bus without affecting the data input / output operation between the processing unit and the plurality of peripheral circuits during the failure diagnosis operation. that from the first information included in the diagnostic information, by extracting the second information for use in fault diagnosis of the processing unit obtains the error detection information based on the second information, the A semiconductor integrated circuit that determines whether or not the processing unit has failed by comparing the error detection information with the expected value at a timing when a first period has elapsed from the start of a failure diagnosis operation. circuit.
前記第1の情報は、前記処理部の実行中に前記デバッガ部に蓄積され、前記処理部の動作に異常がある場合に前記診断部が前記デバッガ部に蓄積された情報に基づいて動作解析を行うためのトレース情報を有し、The first information is accumulated in the debugger unit during the execution of the processing unit, and when there is an abnormality in the operation of the processing unit, the diagnosis unit performs an operation analysis based on the information accumulated in the debugger unit. Has trace information to do,
前記第2の情報は、前記トレース情報から抽出した、命令実行アドレス、ストアアドレス、ストアデータ、リードアドレス、リードデータのうちの何れかを含むデータを有することを特徴とする請求項1記載の半導体集積回路。2. The semiconductor device according to claim 1, wherein the second information includes data including any one of an instruction execution address, a store address, store data, a read address, and read data extracted from the trace information. Integrated circuit.
前記誤り検出情報は、チェックサムであることを特徴とする請求項1又は2記載の半導体集積回路。 3. The semiconductor integrated circuit according to claim 1, wherein the error detection information is a checksum. 前記第1の期間を計測することにより、前記診断部で前記誤り検出情報と前記期待値との比較を行う前記タイミングを生成するタイマを有することを特徴とする請求項1ないし3の何れか1項に記載の半導体集積回路。 4. The timer according to claim 1, further comprising a timer that generates the timing for comparing the error detection information with the expected value in the diagnosis unit by measuring the first period . 5. The semiconductor integrated circuit according to Item . 前記診断部は、前記誤り検出情報と前記期待値とが異なる場合には、前記処理部に対する割り込みを発行することを特徴とする請求項1ないし4の何れか1項に記載の半導体集積回路。 The diagnosis unit, when said error detection information and the expected value are different, a semiconductor integrated circuit according to any one of claims 1 to 4, characterized in that to issue an interrupt to the processing unit. 故障診断動作時に、通常動作に係るデータが伝送される第1のバスに接続する第1のインタフェース、及び前記第1のバスとは異なる第2のバスに接続する第2のインタフェースを有する処理部から、前記第2のバスに、前記処理部の内部状態を示す第1の情報を含む診断情報を出力し、
前記処理部の外部に配設して前記第2のバスに接続するデバッガ部で前記診断情報を蓄積し、
前記故障診断動作時に、前記第1のバスを介して、前記第1のバスに接続する複数の周辺回路と前記処理部とがデータの入出力を行うとともに、前記第2のバスを介して、前記処理部が前記デバッガ部に前記診断情報を出力し、
前記複数の周辺回路と前記処理部との前記データの入出力の動作に影響を与えることなく、前記第2のバスを介して前記デバッガ部に蓄積される前記診断情報に含まれる前記第1の情報から、前記処理部の故障診断に利用するための第2の情報を抽出することにより、前記第2の情報に基づいて誤り検出情報を求め、
前記故障診断動作の開始から第1の期間が経過したタイミングで、前記誤り検出情報と、予め保持された期待値とを比較することにより、前記処理部が故障しているか否かを判定することを特徴とする半導体集積回路の故障診断方法。
A processing unit having a first interface connected to a first bus through which data related to normal operation is transmitted during a fault diagnosis operation, and a second interface connected to a second bus different from the first bus From the first bus, the diagnostic information including the first information indicating the internal state of the processing unit is output to the second bus,
Accumulating the diagnostic information in a debugger unit disposed outside the processing unit and connected to the second bus,
During the fault diagnosis operation, a plurality of peripheral circuits connected to the first bus via the first bus and the processing unit perform data input / output, and via the second bus, The processing unit outputs the diagnostic information to the debugger unit,
The first information included in the diagnostic information stored in the debugger unit via the second bus without affecting the data input / output operations of the plurality of peripheral circuits and the processing unit . From the information, by extracting second information to be used for failure diagnosis of the processing unit, error detection information is obtained based on the second information,
Determining whether or not the processing unit is faulty by comparing the error detection information with an expected value held in advance at a timing when a first period has elapsed from the start of the fault diagnosis operation. A method for diagnosing a failure in a semiconductor integrated circuit.
JP2009131371A 2009-05-29 2009-05-29 Semiconductor integrated circuit and fault diagnosis method for semiconductor integrated circuit Expired - Fee Related JP5629981B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009131371A JP5629981B2 (en) 2009-05-29 2009-05-29 Semiconductor integrated circuit and fault diagnosis method for semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009131371A JP5629981B2 (en) 2009-05-29 2009-05-29 Semiconductor integrated circuit and fault diagnosis method for semiconductor integrated circuit

Publications (2)

Publication Number Publication Date
JP2010276544A JP2010276544A (en) 2010-12-09
JP5629981B2 true JP5629981B2 (en) 2014-11-26

Family

ID=43423633

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009131371A Expired - Fee Related JP5629981B2 (en) 2009-05-29 2009-05-29 Semiconductor integrated circuit and fault diagnosis method for semiconductor integrated circuit

Country Status (1)

Country Link
JP (1) JP5629981B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102359151B1 (en) * 2017-03-17 2022-02-08 한국전력공사 System and Method for measuring On-line Trip/Close Surge for Circuit Breaker Equipment

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08263304A (en) * 1995-03-22 1996-10-11 Toshiba Corp Processor
JP2845804B2 (en) * 1996-04-25 1999-01-13 日本電気アイシーマイコンシステム株式会社 Data memory retention confirmation circuit
JP2001337138A (en) * 2000-05-30 2001-12-07 Matsushita Electric Ind Co Ltd Test circuit device for semiconductor integrated circuit and semiconductor integrated circuit using the same
JP2002132536A (en) * 2000-10-25 2002-05-10 Matsushita Electric Ind Co Ltd LSI debug system
JP2003208361A (en) * 2002-01-15 2003-07-25 Fujitsu I-Network Systems Ltd Memory test method
JP2004093351A (en) * 2002-08-30 2004-03-25 Matsushita Electric Ind Co Ltd Built-in self-test circuit
US7444546B2 (en) * 2003-04-17 2008-10-28 Arm Limited On-board diagnostic circuit for an integrated circuit

Also Published As

Publication number Publication date
JP2010276544A (en) 2010-12-09

Similar Documents

Publication Publication Date Title
US10281525B2 (en) Semiconductor device and diagnostic test method for both single-point and latent faults using first and second scan tests
JP6266239B2 (en) Microcomputer
JP5608409B2 (en) Self-diagnosis system and test circuit determination method
Bernardi et al. On-line functionally untestable fault identification in embedded processor cores
US7930165B2 (en) Procedure and device for emulating a programmable unit providing system integrity control
CN116430835B (en) A fault storage and analysis method for Cortex-M microcontroller
JP5629981B2 (en) Semiconductor integrated circuit and fault diagnosis method for semiconductor integrated circuit
JP2021072074A (en) Semiconductor device and method for controlling semiconductor device
US20240231347A1 (en) Fault injection test method and apparatus, and fault injection method
JP2012128727A (en) Reliability evaluation method and apparatus for software component
KR101958540B1 (en) Apparatus and method of debugging post silicon using on-chip dram for multi-core design
JP2001249823A (en) Microcomputer development support equipment
CN102622322B (en) A kind of method, black box and server utilizing black box to obtain crash info
JP4705886B2 (en) Circuit board diagnosis method, circuit board and CPU unit
Konrad et al. Adding formal specifications to requirements patterns
JP2006185365A (en) Semiconductor device and debugging method
JP4652317B2 (en) Logic circuit functional verification apparatus, functional coverage item verification method, and program
JP2014232478A (en) Operation monitoring device and operation monitoring method
KR102901846B1 (en) Apparatus and method for soc functional safety design
CN113032177B (en) Soft error monitoring method and equipment
JP2008267998A (en) Fault diagnosis method for semiconductor integrated circuits
JP5632804B2 (en) Control device with bus diagnostic function
CN115344493A (en) System safety and reliability self-testing system and method
CN120144424A (en) Chip functional safety data calculation method, device, electronic device and storage medium
JP2007328403A (en) Bus monitoring circuit and information processing inspection system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140214

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140909

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140922

R150 Certificate of patent or registration of utility model

Ref document number: 5629981

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees