JP2012243205A - Semiconductor integrated circuit and data evacuating method - Google Patents
Semiconductor integrated circuit and data evacuating method Download PDFInfo
- Publication number
- JP2012243205A JP2012243205A JP2011114833A JP2011114833A JP2012243205A JP 2012243205 A JP2012243205 A JP 2012243205A JP 2011114833 A JP2011114833 A JP 2011114833A JP 2011114833 A JP2011114833 A JP 2011114833A JP 2012243205 A JP2012243205 A JP 2012243205A
- Authority
- JP
- Japan
- Prior art keywords
- sample data
- data
- processor
- memory
- comparison
- 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.)
- Withdrawn
Links
Images
Landscapes
- Retry When Errors Occur (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
【課題】正常性が確保された経路を介してデータの退避を行うことができる半導体集積回路を提供すること
【解決手段】本発明にかかる半導体集積回路は、CPUコア12と、CPUコア12の演算結果と、第1のサンプルデータとを保持する通常メモリ14と、第1のサンプルデータと同一の第2のサンプルデータを保持するサンプルデータ格納メモリ24と、通常メモリ14から出力された第1のサンプルデータと、第1のサンプルデータが出力された経路と重複しない経路を介してサンプルデータ格納メモリ24から出力された第2のサンプルデータとを比較するデータ比較判定器26と、を備えCPUコア12は、第1のサンプルデータと第2のサンプルデータとが一致する場合に、演算結果を、第1のサンプルデータがデータ比較判定器26に出力された経路と同じ経路を介してCPUコア12から退避させるものである。
【選択図】図1A semiconductor integrated circuit capable of saving data via a path in which normality is ensured is provided. A semiconductor integrated circuit according to the present invention includes a CPU core and a CPU core. The normal memory 14 that holds the calculation result and the first sample data, the sample data storage memory 24 that holds the second sample data identical to the first sample data, and the first data output from the normal memory 14 A data comparison / determination unit 26 that compares the sample data of the first sample data and the second sample data output from the sample data storage memory 24 via a path that does not overlap with the path through which the first sample data is output. The core 12 compares the calculation result when the first sample data and the second sample data match, and the first sample data compares the data. It is intended to retract from the CPU core 12 via the same path as the output route to Joki 26.
[Selection] Figure 1
Description
本発明は半導体集積回路及びデータ退避方法に関し、特にデータの退避経路の正常性を判定する半導体集積回路及びデータ退避方法に関する。 The present invention relates to a semiconductor integrated circuit and a data saving method, and more particularly to a semiconductor integrated circuit and a data saving method for determining the normality of a data saving path.
近年、車載製品等の半導体集積回路には高い安全性を確保することが必要なため、信頼性向上の必要性が高まっている。これにより、自己診断機能を搭載した半導体集積回路が普及してきた。2000年に機能安全規格IEC 61508(電気・電子・プログラマブル電子安全関連システムの機能安全)が発行され、欧州は、自動車に搭載するECU レベルの機能安全認証の取得を義務付けている。そのため、MCU(Micro Control Unit)は、IEC61508 SIL3 のサポートを要求されており、CPU(Central Processing Unit)の冗長化や自己診断機能の採用によるシステムの信頼性向上が必要とされている。 In recent years, since it is necessary to ensure high safety for semiconductor integrated circuits such as in-vehicle products, the need for improved reliability is increasing. As a result, semiconductor integrated circuits equipped with a self-diagnosis function have become widespread. Functional safety standard IEC 61508 (functional safety of electrical / electronic / programmable electronic safety-related systems) was issued in 2000, and Europe obligates the acquisition of ECU-level functional safety certification installed in automobiles. Therefore, the MCU (Micro Control Unit) is required to support IEC61508 SIL3, and the reliability of the system is required to be improved by adopting a redundant CPU (Central Processing Unit) and adopting a self-diagnosis function.
上記規格を満足するための自己診断方法として、次のような方法が普及している。2つのCPUを搭載している半導体集積回路において、一方のCPUをマスタCPU、もう一方のCPUをチェック用CPUとする。このような半導体集積回路において、2つの演算結果を比較して半導体集積回路の故障有無等を診断する。 The following methods are widely used as self-diagnosis methods for satisfying the above standards. In a semiconductor integrated circuit equipped with two CPUs, one CPU is a master CPU and the other CPU is a check CPU. In such a semiconductor integrated circuit, two operation results are compared to diagnose the presence or absence of a failure in the semiconductor integrated circuit.
前記の自己診断方法を搭載した半導体集積回路において、物理的な故障ではない外的要因、例えばノイズや宇宙線の影響で発生したエラーにより、それぞれのCPUの演算結果に不一致が発生した場合、半導体集積回路は、リセットされエラー発生直前からの動作を再開する故障延命手段を用いることが検討されている。 In a semiconductor integrated circuit equipped with the above self-diagnosis method, if a mismatch occurs in the calculation results of each CPU due to an external factor that is not a physical failure, for example, an error caused by the influence of noise or cosmic rays, the semiconductor It has been considered that the integrated circuit uses a fault life extension means that is reset and restarts the operation immediately before the occurrence of the error.
車載製品等の半導体集積回路は、半導体集積回路を搭載した自動車の動作中に自己診断による再起動が発生する場合がある。この場合、動作中のリセットから半導体集積回路の動作を再開するまでの時間を短くする必要がある。そのため、それぞれのCPUの演算結果に不一致が発生した後に、CPUは、不一致が発生する直前のデータを不揮発性メモリに退避し、動作再開時に不揮発性メモリに退避していたデータを読み出し、読み出したデータを動作状態の設定に利用する方法が検討されている。CPUの演算結果の不一致発生後にデータを不揮発性メモリに退避するためには、半導体集積回路のデータ退避に関わる部分に故障がないことを判定する必要がある。さらに、2つのCPUにおいて、故障延命手段を確実に実行できる技術が求められている。 A semiconductor integrated circuit such as an in-vehicle product may be restarted by self-diagnosis during operation of an automobile equipped with the semiconductor integrated circuit. In this case, it is necessary to shorten the time from the reset during operation to the restart of the operation of the semiconductor integrated circuit. Therefore, after a mismatch occurs in the calculation results of the respective CPUs, the CPU saves the data immediately before the mismatch occurs in the nonvolatile memory, and reads and reads the data saved in the nonvolatile memory when the operation is resumed. A method of using data for setting an operating state is being studied. In order to save the data to the nonvolatile memory after the mismatch of the CPU operation results, it is necessary to determine that there is no failure in the portion related to the data saving of the semiconductor integrated circuit. Furthermore, there is a need for a technology that can reliably execute failure life extension means in two CPUs.
特許文献1を用いて、故障延命手段が用いられている半導体集積回路の構成について説明する。具体的に、図7及び8を用いて、特許文献1に開示されている半導体集積回路の構成について説明する。 A configuration of a semiconductor integrated circuit in which failure life extending means is used will be described using Patent Document 1. Specifically, the configuration of the semiconductor integrated circuit disclosed in Patent Document 1 will be described with reference to FIGS.
半導体集積回路は、CPU110からデータバス190、210、230を経由して主記憶170へデータを出力し、CPU120からデータバス200、220、240を経由して主記憶180へデータを出力する。
The semiconductor integrated circuit outputs data from the
通常処理では、CPU110から主記憶170へ出力されるデータは、データバス190、210、230を経由する。CPU120から主記憶180へ出力されるデータは、データバス200、220、240を経由する。通常処理においては、これらの経路が標準となる。CPU110、120は、データバスへデータを出力する毎にCPUに内蔵している退避レジスタ130、140にデータを退避する。
In normal processing, data output from the
比較器160は、処理ブロック320に示すように、CPU110からデータバス190及び210へ出力されたデータと、CPU120からデータバス200及び220へ出力されたデータを、比較器160に内蔵された退避レジスタ250及び260に出力し、データの比較を行う。
As shown in
比較器160において比較された結果、CPU110とCPU120から出力されたデータが等しい場合、処理ブロック325に示すように、処理を継続する。比較器160において比較された結果、CPU110とCPU120から出力されたデータが不一致である場合、処理ブロック330に示すように、比較器160は、CPU110、120に対して、不一致の発生を通知するために不一致検出信号270、280を出力する。処理ブロック340に示すように、CPU110、120は不一致検出信号270、280を検出すると同時に割込みを発生し、不一致検出割込みハンドラに処理を移す。不一致検出割込みハンドラは、処理ブロック350に示すように、一方のデータバスの接続を切断し、処理ブロック360に示すようにCPU110の退避レジスタ130のデータを出力する。
If the data output from the
処理ブロック370に示すように、比較器160は、比較器160の退避レジスタ250とCPU110から出力された退避レジスタ130の値を比較する。
As shown in
続けて、接続していたデータバスを切断し、切断していたデータバスを接続し、処理ブロック370に示すように、比較器160は、比較器160の退避レジスタ250とCPU110から出力された退避レジスタ130の値を比較する。比較した結果、二つのデータバスの処理結果がともに一致した場合、処理ブロック380に示すようにもう一方のCPUに対して、同様の処理を行う。比較した結果、両方とも不一致な場合、処理ブロック400に示すようにCPUを停止し、もう一方のCPUに対して、同様の処理を行う。比較した結果、どちらか一方が不一致だった場合、処理ブロック390に示すように不一致を検出したデータバスを切断し、もう一方のCPUに対して、同様の処理を行う。
Subsequently, the connected data bus is disconnected, and the disconnected data bus is connected. As shown in a
つまり、特許文献1に開示されている半導体集積回路は、2個のCPUで構成されるシステムにおいて、比較器内の退避レジスタの値とデータバスを介してCPUから出力された退避レジスタの値を比較することによって、データバスのエラーを検出し、エラーの発生したデータバスを切断し、エラーが発生していないデータバスを使用して処理を継続する。 That is, in the semiconductor integrated circuit disclosed in Patent Document 1, in a system composed of two CPUs, the value of the save register in the comparator and the value of the save register output from the CPU via the data bus are used. By comparing, an error in the data bus is detected, the data bus in which the error has occurred is disconnected, and the processing is continued using the data bus in which no error has occurred.
しかし、特許文献1に開示されている半導体集積回路においては、データバス190または、データバス200にエラーが発生した場合、エラー箇所が断定されず継続処理となる。そのため、CPUからデータバス190またはデータバス200を経由してメモリへ退避されるデータは、破損し、誤ったデータがメモリに格納される。その結果、不一致発生後に半導体集積回路がメモリに格納されたデータを用いて不一致発生直前からの動作を再開できず、信頼性を確保した上での故障延命が実現できないという問題点がある。
However, in the semiconductor integrated circuit disclosed in Patent Document 1, when an error occurs in the
具体的には、図7において、例えばデータバス190にエラーがあった場合、比較器160は、CPU110からデータバス190、データバス210を経由した退避レジスタ130の値と、エラー発生時にCPU110からデータバス190、データバス210を経由した退避レジスタ130の値を格納した退避レジスタ250の値を比較する。しかし比較結果は一致し、比較器160は、データバス190にエラーがないと誤判定する。理由は、退避レジスタ250の値は常に書き換わるため、データバス190がエラーとなった時点で退避レジスタ250に誤った値が格納され、データバス190、データバス210を経由した退避レジスタ130と同じ値となるためである。データバス190にエラーがあるにも関わらず、エラーがないと誤判定して動作を継続し、故障したデータバス190経由で主記憶装置170にデータを退避するため、主記憶装置170には、誤ったデータが格納される。
Specifically, in FIG. 7, for example, when there is an error in the
本発明の第1の態様にかかる半導体集積回路は、プロセッサと、前記プロセッサの演算結果と、第1のサンプルデータとを保持する第1のメモリと、前記第1のサンプルデータと同一の第2のサンプルデータを保持する第2のメモリと、前記第1のメモリから出力された前記第1のサンプルデータと、前記第1のサンプルデータが出力された経路と重複しない経路を介して前記第2のメモリから出力された前記第2のサンプルデータとを比較するデータ比較判定部と、を備え前記プロセッサは、前記第1のサンプルデータと前記第2のサンプルデータとが一致する場合に、前記演算結果を、前記第1のサンプルデータが前記データ比較判定部に出力された経路と同じ経路を介して前記第1のメモリから退避させるものである。 A semiconductor integrated circuit according to a first aspect of the present invention includes a processor, a first memory that holds a calculation result of the processor, and first sample data, and a second same as the first sample data. A second memory for holding the second sample data, the first sample data output from the first memory, and the second sample via a path that does not overlap with a path from which the first sample data is output. A data comparison / determination unit that compares the second sample data output from the memory of the first processor and the processor when the first sample data matches the second sample data. The result is saved from the first memory via the same path as the path where the first sample data is output to the data comparison / determination unit.
このような半導体集積回路を用いることにより、第1のメモリに格納されている演算結果は、第1のサンプルデータが出力された経路と同じ経路を介して退避される。そのため、データ比較判定部によって、第1のサンプルデータが出力された経路の正常性が確認された場合、演算結果も正常性が確認された経路を介して退避されるため、退避された演算結果の信頼性が向上する。 By using such a semiconductor integrated circuit, the calculation result stored in the first memory is saved via the same path as the path where the first sample data is output. Therefore, when the data comparison / determination unit confirms the normality of the path from which the first sample data is output, the calculation result is also saved through the path where the normality is confirmed. Reliability is improved.
本発明の第2の態様にかかるデータ退避方法は、プロセッサと、前記プロセッサの演算結果と、第1のサンプルデータとを保持する第1のメモリと、前記第1のサンプルデータと同一の第2のサンプルデータを保持する第2のメモリと、を備える半導体集積回路のデータ退避方法であって、前記第1のメモリから出力された前記第1のサンプルデータと、前記第1のサンプルデータが出力された経路と重複しない経路を介して前記第2のメモリから出力された前記第2のサンプルデータとを比較し、前記第1のサンプルデータと前記第2のサンプルデータとが一致する場合に、前記演算結果を、前記第1のサンプルデータが出力された経路と同じ経路を介して前記第1のメモリから退避させるものである。 A data saving method according to a second aspect of the present invention includes a processor, a first memory for holding a calculation result of the processor, and first sample data, and a second same as the first sample data. And a second memory for holding the sample data of the semiconductor integrated circuit, wherein the first sample data output from the first memory and the first sample data are output. Comparing the second sample data output from the second memory via a path that does not overlap with the determined path, and the first sample data and the second sample data match, The calculation result is saved from the first memory through the same path as the path from which the first sample data is output.
このようなデータ退避方法を用いることにより、第1のメモリに格納されている演算結果は、第1のサンプルデータが出力された経路と同じ経路を介して退避される。そのため、第1及び第2のサンプルデータの比較結果により、第1のサンプルデータが出力された経路の正常性が確認された場合、演算結果も正常性が確認された経路を介して退避されるため、退避された演算結果の信頼性が向上する。 By using such a data saving method, the calculation result stored in the first memory is saved via the same path as the path where the first sample data is output. Therefore, when the normality of the path where the first sample data is output is confirmed based on the comparison result of the first and second sample data, the calculation result is also saved via the path where the normality is confirmed. Therefore, the reliability of the saved calculation result is improved.
本発明により、正常性が確保された経路を介してデータの退避を行うことができる半導体集積回路及びデータ退避方法を提供することができる。 According to the present invention, it is possible to provide a semiconductor integrated circuit and a data saving method capable of saving data via a path in which normality is ensured.
(実施の形態1)
以下、図面を参照して本発明の実施の形態について説明する。はじめに、図1を用いて、本発明の実施の形態1にかかる半導体集積回路に含まれるCPU搭載回路10の構成例について説明する。CPU搭載回路10は、CPUコア11と、CPUコア12と、演算結果比較回路13と、通常メモリ14とを備えている。また、CPUコア11と、CPUコア12と、演算結果比較回路13とは、それぞれCPU動作判定回路20と接続されている。
(Embodiment 1)
Embodiments of the present invention will be described below with reference to the drawings. First, a configuration example of the CPU-mounted
CPUコア11及びCPUコア12は、プロセッサに含まれ、RAM(Random Access Memory)またはROM(Read Only Memory)等に格納されているプログラムに基づいてプログラム処理を実行する。CPUコア11及びCPUコア12は、同一の処理を実行し、冗長に構成されている。そのため、CPUコア11及びCPUコア12に故障等が発生していない場合、CPUコア11及びCPUコア12は、同一の演算結果を出力する。CPUコア11及びCPUコア12は、演算結果を演算結果比較回路13へ出力する。さらに、CPUコア12は、演算結果を通常メモリ14へ出力する。
The CPU core 11 and the CPU core 12 are included in the processor and execute program processing based on a program stored in a RAM (Random Access Memory) or a ROM (Read Only Memory). The CPU core 11 and the CPU core 12 execute the same process and are configured redundantly. Therefore, when no failure or the like occurs in the CPU core 11 and the CPU core 12, the CPU core 11 and the CPU core 12 output the same calculation result. The CPU core 11 and the CPU core 12 output the calculation result to the calculation
演算結果比較回路13は、CPUコア11から出力された演算結果と、CPUコア12から出力された演算結果とを比較する。演算結果比較回路13は、それぞれの演算結果が一致する場合、CPUコア11及びCPUコア12は正常に動作していると判定する。演算結果比較回路13は、それぞれの演算結果が一致しない場合、CPUコア11又はCPUコア12のいずれかに故障又はエラーが発生していると判定し、演算結果の比較結果を演算結果比較回路13へ出力する。
The calculation result
通常メモリ14は、CPUコア12からCPUコア12の通常動作時の演算結果を受け取り格納する。CPUコア12における通常動作とは、例えば半導体集積回路が車載用であれば、車載の機能を実現するために実行される動作である。通常メモリ14は、CPUコア12から演算結果の退避処理を実行する旨の通知を受けた場合、格納している演算結果をCPUコア12へ出力する。CPUコア12は、通常メモリ14から受け取った演算結果をCPU動作判定回路20へ出力する。通常メモリ14は、CPU搭載回路10に搭載されているRAM等のメモリであってもよく、CPU搭載回路10の外部に接続されているハードディスク装置等の記憶装置であってもよい。
The normal memory 14 receives and stores a calculation result during normal operation of the CPU core 12 from the CPU core 12. The normal operation in the CPU core 12 is, for example, an operation that is executed to realize an in-vehicle function if the semiconductor integrated circuit is in-vehicle. The normal memory 14 outputs the stored calculation result to the CPU core 12 when receiving a notification from the CPU core 12 that the calculation result saving process is to be executed. The CPU core 12 outputs the calculation result received from the normal memory 14 to the CPU
また、通常メモリ14は、演算結果比較回路13において、CPUコア11及びCPUコア12のそれぞれの演算結果が一致していないと判定された場合に、CPUコア12に対してサンプルデータを出力する。サンプルデータは、通常メモリ14に格納されている演算結果を退避させる際に、退避経路に障害が発生しているか否かを判定する際に用いられる。サンプルデータは、CPUコア11及びCPUコア12が通常動作を開始する際に、後述するサンプルデータ格納メモリ24から出力され、通常メモリ14に格納される。もしくは、サンプルデータは、CPU搭載回路10の製造時等に、あらかじめ通常メモリ14に格納されてもよい。
The normal memory 14 outputs sample data to the CPU core 12 when the calculation
ここで、CPUコア11及びCPUコア12の動作モードについて説明する。CPUコア11及びCPUコア12は、通常動作と、故障判定動作と、退避動作とを切り替えて動作する。通常動作は、上述したように、例えば半導体集積回路が車載用であれば、車載の機能を実現するために実行される動作である。故障判定動作は、通常メモリ14に格納されている演算結果を退避する際に、退避経路に故障や、障害が発生しているか否かを判定する動作である。退避動作は、CPUコア12が、通常メモリ14に格納されているデータを不揮発性メモリ等へ退避させる動作である。 Here, the operation modes of the CPU core 11 and the CPU core 12 will be described. The CPU core 11 and the CPU core 12 operate by switching between a normal operation, a failure determination operation, and a save operation. As described above, the normal operation is an operation that is executed in order to realize an in-vehicle function if the semiconductor integrated circuit is in-vehicle, for example. The failure determination operation is an operation for determining whether or not a failure or a failure has occurred in the save path when saving the calculation result stored in the normal memory 14. The save operation is an operation in which the CPU core 12 saves data stored in the normal memory 14 to a nonvolatile memory or the like.
CPUコア11及びCPUコア12は、CPU動作判定回路20の制御によって、通常動作と故障判定動作と退避動作とを切り替えられる。
The CPU core 11 and the CPU core 12 can be switched between a normal operation, a failure determination operation, and a save operation under the control of the CPU
図1においては、CPUコアが2つ搭載された回路の構成例について説明したが、CPU搭載回路10は、CPUコアを3つ以上搭載してもよい。
Although the configuration example of the circuit in which two CPU cores are mounted has been described with reference to FIG. 1, the CPU mounted
続いて、図2を用いて本発明の実施の形態1にかかる半導体集積回路に含まれるCPU動作判定回路20の構成例について説明する。CPU動作判定回路20は、コード切替回路21と、故障判定コード格納メモリ22と、データ退避コード格納メモリ23と、サンプルデータ格納メモリ24と、動作制御回路25と、データ比較判定器26と、不揮発性メモリ27と、を備えている。また、コード切替回路21は、通常コード格納メモリ30と接続されている。通常コード格納メモリ30は、図2のようにCPU動作判定回路20の外部に設けられてもよく、もしくはCPU動作判定回路20の内部に設けられてもよい。
Next, a configuration example of the CPU
コード切替回路21は、通常コード格納メモリ30から出力される通常コードと、故障判定コード格納メモリ22から出力される故障判定コードと、データ退避コード格納メモリ23から出力されるデータ退避コードとのいずれかを選択する。コード切替回路21は、選択したコードをCPUコア11及びCPUコア12へ出力し、CPUコア11及びCPUコア12の動作を制御する。
The
コード切替回路21は、演算結果比較回路13から出力された比較結果又はデータ比較判定器26から出力された比較結果に応じて、CPUコア11又はCPUコア12へ出力するコードを選択する。コード切替回路21は、演算結果比較回路13から、CPUコア11及びCPUコア12の演算結果が一致しないとの比較結果を含む信号(以下、演算比較結果信号と称する)を受け取った場合、故障判定コードを選択し、CPUコア11及びCPUコア12の動作を通常動作から動作判定動作へ切り替える。また、コード切替回路21は、データ比較判定器26から、通常メモリ14に格納されている演算結果を退避させる際の退避経路に障害は発生していないとの情報を受け取った場合、データ退避コードを選択し、CPUコア11及びCPUコア12の動作を、動作判定動作からデータ退避動作へ切り替える。
The
動作制御回路25は、CPUコア11及びCPUコア12に対して割り込み信号を出力し、通常動作コードと、故障判定コードと、データ退避コードとを切り替える制御を行う。また、動作制御回路25は、CPUコア11及びCPUコア12の動作を停止させる制御も行う。動作制御回路25は、演算結果比較回路13から、CPUコア11及びCPUコア12の演算結果が一致しないとの演算比較結果信号を受け取った場合、及び、データ比較判定器26から、通常メモリ14に格納されている演算結果を退避させる際の退避経路に障害は発生していないとの情報を受け取った場合に、CPUコア11及びCPUコア12に対して割り込み信号を出力する。
The
データ比較判定器26は、CPUコア12から出力されるサンプルデータと、サンプルデータ格納メモリ24に格納されているサンプルデータとを比較する。データ比較判定器26は、CPUコア12から出力されるサンプルデータと、サンプルデータ格納メモリ24に格納されているサンプルデータとを、それぞれ重複しない経路を介して受け取る。
The data comparison /
CPUコア12は、コード切替回路21から故障判定コードを受け取ると、通常メモリ14に格納されているサンプルデータを抽出し、データ比較判定器26へ出力する。データ比較判定器26は、CPUコア12から出力されるサンプルデータと、サンプルデータ格納メモリ24に格納されているサンプルデータとを比較し、一致しているか否かを判定する。データ比較判定器26は、CPUコア12から出力されるサンプルデータと、サンプルデータ格納メモリ24に格納されているサンプルデータとが一致していると判定した場合、一致していることを示す情報を含む信号(以下、データ比較結果信号と称する)をコード切替回路21及び動作制御回路25へ出力する。また、データ比較判定器26においてCPUコア12から出力されるサンプルデータと、サンプルデータ格納メモリ24に格納されているサンプルデータとが一致していないと判定された場合、CPU搭載回路10及びCPU動作判定回路20を含む半導体集積回路はリセットされる。
When receiving the failure determination code from the
また、データ比較判定器26は、一致していることを示す情報を含むデータ比較結果信号をコード切替回路21及び動作制御回路25へ出力した後に、通常メモリ14から、CPUコア12を介してCPUコア12における演算結果を受け取る。通常メモリ14から出力される演算結果は、通常メモリ14に格納されているサンプルデータがデータ比較判定器26へ出力された経路と同じ経路を介して、データ比較判定器26へ出力される。
The data comparison /
データ比較判定器26が受け取る演算結果は、半導体集積回路がリセットされた後に、故障又はエラー発生直前からの動作を再開するために用いられる。データ比較判定器26は、受け取った演算結果を不揮発性メモリ27へ出力する。これにより、CPUコア12は、通常メモリ14に格納されている演算結果を不揮発性メモリ27へ退避することができる。不揮発性メモリ27へ退避されたデータは、半導体集積回路がリセットされた場合においても削除等されない。
The calculation result received by the data comparison /
続いて、図3を用いて本発明の実施の形態1にかかる通常動作停止処理の流れについて説明する。はじめに、CPUコア11及びCPUコア12は、通常動作を行う(S1)。CPUコア11及びCPUコア12は、通常動作を行っている間、それぞれの演算結果を演算結果比較回路13へ出力する。
Next, the flow of the normal operation stop process according to the first embodiment of the present invention will be described with reference to FIG. First, the CPU core 11 and the CPU core 12 perform a normal operation (S1). The CPU core 11 and the CPU core 12 output respective calculation results to the calculation
次に、演算結果比較回路13は、CPUコア11及びCPUコア12の演算結果を比較する(S2)。演算結果比較回路13によってCPUコア11及びCPUコア12の演算結果が一致していると判定された場合、ステップS1に戻り、CPUコア11及びCPUコア12は、通常動作を繰り返す。演算結果比較回路13によってCPUコア11及びCPUコア12の演算結果が一致していないと判定された場合、つまり不一致と判定された場合、演算結果比較回路13は、CPUコアの演算結果が不一致であるとの情報を含む信号(以下、演算結果不一致信号と称する)をコード切替回路21及び動作制御回路25へ出力する。動作制御回路25は、演算結果不一致信号を受け取ると、CPUコア11及びCPUコア12の通常動作を停止させる(S3)。
Next, the calculation
続いて、図4を用いて本発明の実施の形態1にかかる半導体集積回路のリセット処理の流れについて説明する。半導体集積回路のリセット処理は、図3における通常動作停止処理の後に行われる。はじめに、コード切替回路21は、演算結果不一致信号を受け取ると、故障判定コードを選択し、CPUコア11及びCPUコア12へ選択した故障判定コードを出力する(S11)。次に、CPUコア12は、故障判定コードを受け取ると、通常メモリ14に格納されているサンプルデータを読み出し、データ比較判定器26へ出力する(S12)。ここで、例えば、CPUコア12は、故障判定コードを受け取ると、サンプルデータの読み出し以外に、簡単なCPUコア12における演算を含ませることにより、CPUコア12の動作確認範囲を広げることもできる。たとえば、サンプルデータが16ビットのAAAAHという値だった場合、サンプルデータを2倍に乗算し、1を加算することにより、5555Hという値になるか否かを確認する。これにより、CPUコア12に含まれる乗算器及び加算器(図示せず)についても故障有無を判定することができる。
Next, a reset process flow of the semiconductor integrated circuit according to the first exemplary embodiment of the present invention will be described with reference to FIG. The reset process of the semiconductor integrated circuit is performed after the normal operation stop process in FIG. First, when the
次に、データ比較判定器26は、CPUコア12から受け取ったサンプルデータと、サンプルデータ格納メモリ24に格納されているサンプルデータとを比較する(S13)。データ比較判定器26は、比較結果を含む信号(以下、サンプルデータ比較結果信号と称する)をCPUコア12へ出力する。CPUコア12が、比較結果が不一致であるサンプルデータ比較結果信号を受け取った場合、半導体集積回路はリセットされる(S16)。半導体集積回路のリセットは、CPUコア12が半導体集積回路のリセットを制御する機能を有し、CPUコア12の制御により行われてもよい。もしくは、CPUコア12とは異なる回路等において、リセット制御回路が設けられ、リセット制御回路の制御により、半導体集積回路のリセットが行われてもよい。
Next, the data comparison /
CPUコア12は、比較結果が一致するとのサンプルデータ比較結果信号を受け取った場合、通常メモリ14に格納されている退避対象データを読み出し、データ比較判定器26へ出力する。データ比較判定器26は、受け取った退避対象データを不揮発性メモリ27へ出力する(S14)。これにより、通常メモリ14に格納されている退避対象データが、不揮発性メモリ27へ退避される。
When the CPU core 12 receives the sample data comparison result signal indicating that the comparison results match, the CPU core 12 reads the save target data stored in the normal memory 14 and outputs it to the
ここで、退避対象データとは、半導体集積回路をリセットした後に、動作再開までの時間を短縮するために、CPUコア11及びCPUコア12に設定される演算結果である。CPUコア11及びCPUコア12は、半導体集積回路がリセットされた後に、CPUコア11及びCPUコア12の演算結果の不一致が発生する前にCPUコア12から出力された演算結果(退避対象データ)を設定する。 Here, the data to be saved is a calculation result set in the CPU core 11 and the CPU core 12 in order to shorten the time until the operation is restarted after resetting the semiconductor integrated circuit. The CPU core 11 and the CPU core 12 receive the calculation result (save target data) output from the CPU core 12 before the mismatch of the calculation results of the CPU core 11 and the CPU core 12 occurs after the semiconductor integrated circuit is reset. Set.
次に、CPUコア11及びCPUコア12は、CPUコア11及びCPUコア12のレジスタ等に格納されている不揮発性メモリ使用フラグの値を1にセットする(S15)。次に、CPUコア12又は、リセット制御回路等は、半導体集積回路のリセットを行う(S16)。 Next, the CPU core 11 and the CPU core 12 set the value of the non-volatile memory use flag stored in the registers of the CPU core 11 and the CPU core 12 to 1 (S15). Next, the CPU core 12 or the reset control circuit resets the semiconductor integrated circuit (S16).
続いて、図5を用いて本発明の実施の形態1にかかる半導体集積回路のリセット後通常動作を開始するまでの処理の流れについて説明する。はじめに、半導体集積回路がリセットされた後、CPUコア11及びCPUコア12が起動され、CPUコア11及びCPUコア12の動作が開始される(S21)。 Next, the flow of processing from the reset of the semiconductor integrated circuit according to the first embodiment of the present invention to the start of normal operation will be described with reference to FIG. First, after the semiconductor integrated circuit is reset, the CPU core 11 and the CPU core 12 are activated, and the operations of the CPU core 11 and the CPU core 12 are started (S21).
次に、CPUコア12は、通常メモリ14に対して、サンプルデータ格納メモリ24に格納されているサンプルデータと同一のサンプルデータを書き込む(S22)。CPUコア12は、通常動作を行う場合に、通常コードを実行する。ここで、通常コードの最初もしくは2番目等の順番が早い命令において、サンプルデータの読み出しを規定することにより、CPUコア12は、通常コードの実行とともに、サンプルデータ格納メモリ24からサンプルデータを読み出す。CPUコア12は、読み出したサンプルデータを通常メモリ14へ格納する。もしくは、サンプルデータは、CPU搭載回路10の製造時等に、通常メモリ14に予め書込まれていてもよい。
Next, the CPU core 12 writes the same sample data as the sample data stored in the sample
例えば、サンプルデータは、退避対象データ、つまり、CPUコア12の演算結果と同じビット幅をもったデータとする。また、全ビットにおける0及び1両方の設定状態を保証するために、例えば退避対象データが16ビットの場合は、5555H及びAAAAH等のように、データの全ビットの0及び1それぞれの状態を確認できるデータ2つを使用する。また、通常メモリ14においてサンプルデータが書込まれるアドレスについても、退避対象データが格納されているアドレスと同じビット幅のアドレスの全ビットが確認できる番地が用いられる。たとえば、退避対象データが書込まれるアドレスが16ビットの場合は、5555H番地及びAAAAH番地等にサンプルデータが書込まれる。 For example, the sample data is data to be saved, that is, data having the same bit width as the calculation result of the CPU core 12. Also, in order to guarantee the setting state of both 0 and 1 in all bits, for example, when the save target data is 16 bits, check the states of 0 and 1 of all bits of data, such as 5555H and AAAAH Use two possible data. As for the address where the sample data is written in the normal memory 14, an address where all bits of the address having the same bit width as the address where the save target data is stored can be confirmed. For example, if the address to which the save target data is written is 16 bits, the sample data is written at addresses 5555H and AAAAH.
次に、CPUコア11及びCPUコア12は、不揮発性メモリ使用フラグを確認する(S23)。不揮発性メモリ使用フラグは、不揮発性メモリ27に演算結果が退避されているか否かを示している。不揮発性メモリ使用フラグは、例えば、CPUコア11及びCPUコア12のそれぞれのレジスタ等に格納されてもよい。不揮発性メモリ使用フラグの値が1の場合、CPUコア11及びCPUコア12は、不揮発性メモリ27から退避対象データを読み込む(S24)。これにより、CPUコア11及びCPUコア12は、半導体集積回路の内部状態を、リセット前のCPUコア11及びCPUコア12の演算結果不一致直前の状態に設定する。また、CPUコア11及びCPUコア12は、不揮発性メモリ27から退避対象データの読み込みを完了した後に、不揮発性メモリ使用フラグを0に設定し、通常動作を行う(S25)。ステップS23において、不揮発性メモリ使用フラグの値が0の場合、CPUコア11及びCPUコア12は、不揮発性メモリ27へアクセスせずに、通常動作を開始する(S25)。
Next, the CPU core 11 and the CPU core 12 confirm the nonvolatile memory use flag (S23). The non-volatile memory use flag indicates whether or not the operation result is saved in the
以上説明したように、本発明の実施の形態1にかかる半導体集積回路を用いることにより、CPUコア11及びCPUコア12の演算結果を用いた自己診断を行うことができる。CPUコア11及びCPUコア12の演算結果に不一致が発生した場合、CPUコア12は、通常メモリ14に格納されており、不一致が発生する前の演算結果をCPUコア12へ退避させる。ここで、予め通常メモリ14に格納されているサンプルデータと、サンプルデータ格納メモリ24に格納されているサンプルデータとを比較することにより、CPUコア12から不揮発性メモリ27へ退避させるデータの経路の故障の有無を判断することができる。これにより、経路に故障が無いと判断された場合、CPUコア12は、不揮発性メモリ27へ正しい演算結果を退避させることができる。
As described above, by using the semiconductor integrated circuit according to the first embodiment of the present invention, self-diagnosis using the calculation results of the CPU core 11 and the CPU core 12 can be performed. When a mismatch occurs in the calculation results of the CPU core 11 and the CPU core 12, the CPU core 12 is stored in the normal memory 14, and the calculation result before the mismatch occurs is saved in the CPU core 12. Here, by comparing the sample data stored in the normal memory 14 in advance with the sample data stored in the sample
また、半導体集積回路のリセット後に、CPUコア11及びCPUコア12は、不揮発性メモリ27に退避されている演算結果を用いて、CPUコア11及びCPUコア12の演算結果不一致発生直前からの動作を再開することにより、通常動作開始までの時間を短縮することができる。
In addition, after the reset of the semiconductor integrated circuit, the CPU core 11 and the CPU core 12 use the calculation result saved in the
(実施の形態2)
続いて、図6を用いて本発明の実施の形態2における通常動作停止処理の流れについて説明する。ステップS31及び32は、図3におけるステップS1及び2と同様であるため、詳細な説明を省略する。演算結果比較回路13においてCPUコア11及びCPUコア12から出力される演算比較結果が不一致であると判定された場合(S32)、CPUコア12は、通常メモリ14に対して格納すべきデータ、つまり、退避対象データの演算比較結果に不一致があるか否かを判定する(S33)。
(Embodiment 2)
Subsequently, the flow of the normal operation stop process according to the second embodiment of the present invention will be described with reference to FIG. Steps S31 and S32 are the same as steps S1 and S2 in FIG. When it is determined in the operation
退避対象データは、例えば、RAM又はROM等に格納されているプログラムを実行した際の演算結果や、演算結果を格納する通常メモリ14の格納先アドレス、通常メモリ14に対するread enable信号、通常メモリ14に対するwrite enable信号等である。また、リセット後の動作再開のためのデータに限らず、ユーザ固有の使用方法に合わせて最適化された設定情報や、使用環境データとして温度、電圧設定情報等も、後の解析等で参照するために退避対象データとされてもよい。 The save target data includes, for example, a calculation result when a program stored in a RAM or a ROM is executed, a storage destination address of the normal memory 14 storing the calculation result, a read enable signal for the normal memory 14, and the normal memory 14 For example, a write enable signal. In addition to the data for restarting the operation after resetting, the setting information optimized according to the user's specific usage method and the temperature and voltage setting information as the usage environment data are also referred to in later analysis and the like. Therefore, it may be saved data.
また、退避対象外となるデータは、例えば、CPUコア11及びCPUコア12に対する割り込み信号や、通常メモリ14以外のメモリへアクセスする際のメモリアクセス信号等である。 Further, the data that is not to be saved is, for example, an interrupt signal for the CPU core 11 and the CPU core 12 or a memory access signal for accessing a memory other than the normal memory 14.
CPUコア12は、演算結果比較回路13から出力される演算比較結果に基づいて、退避対象データの比較結果に不一致が発生しているか否かを判定する。CPUコア12によって、退避対象データの比較結果が一致していると判定された場合、退避対象データは破損していないと推定される。そのため、演算結果比較回路13は、CPUコアの演算結果が不一致であるとの情報を含む演算結果不一致信号をコード切替回路21及び動作制御回路25へ出力する。動作制御回路25は、演算結果不一致信号を受け取ると、CPUコア11及びCPUコア12の通常動作を停止させる(S34)。その後、CPUコア12は、破損していない退避対象データを不揮発性メモリ27へ退避させる。
The CPU core 12 determines whether or not a mismatch has occurred in the comparison result of the save target data based on the calculation comparison result output from the calculation
CPUコア12によって、退避対象データの比較結果に不一致が発生していると判定された場合、退避対象データに破損が生じている可能性があるために、半導体集積回路はリセットされる(S35)。つまり、破損が生じている可能性がある退避対象データを、半導体集積回路をリセットした後にCPUコア11及びCPUコア12に設定した場合、CPUコア11及びCPUコア12は、故障発生前の状態に設定されず、通常動作を継続することができない。そのため、このような場合、退避対象データを不揮発性メモリ27に退避させることなく、半導体集積回路はリセットされる。
If it is determined by the CPU core 12 that the comparison result of the save target data is inconsistent, the save target data may be damaged, and the semiconductor integrated circuit is reset (S35). . That is, when the save target data that may have been damaged is set in the CPU core 11 and the CPU core 12 after resetting the semiconductor integrated circuit, the CPU core 11 and the CPU core 12 are in a state before the failure occurs. It is not set and normal operation cannot be continued. Therefore, in such a case, the semiconductor integrated circuit is reset without saving the save target data in the
以上説明したように、本発明の実施の形態2にかかる通常動作停止処理を用いることにより、不揮発性メモリ27に退避されたデータの信頼性を向上させることができる。
As described above, the reliability of data saved in the
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。 Note that the present invention is not limited to the above-described embodiment, and can be changed as appropriate without departing from the spirit of the present invention.
10 CPU搭載回路
11 CPUコア
12 CPUコア
13 演算結果比較回路
14 通常メモリ
20 CPU動作判定回路
21 コード切替回路
22 故障判定コード格納メモリ
23 データ退避コード格納メモリ
24 サンプルデータ格納メモリ
25 動作制御回路
26 データ比較判定器
27 不揮発性メモリ
30 通常コード格納メモリ
DESCRIPTION OF
Claims (11)
前記プロセッサの演算結果と、第1のサンプルデータとを保持する第1のメモリと、
前記第1のサンプルデータと同一の第2のサンプルデータを保持する第2のメモリと、
前記第1のメモリから出力された前記第1のサンプルデータと、前記第1のサンプルデータが出力された経路と重複しない経路を介して前記第2のメモリから出力された前記第2のサンプルデータとを比較するデータ比較判定部と、を備え
前記プロセッサは、
前記第1のサンプルデータと前記第2のサンプルデータとが一致する場合に、前記演算結果を、前記第1のサンプルデータが前記データ比較判定部に出力された経路と同じ経路を介して前記第1のメモリから退避させる、半導体集積回路。 A processor;
A first memory for holding the calculation result of the processor and first sample data;
A second memory holding second sample data identical to the first sample data;
The first sample data output from the first memory, and the second sample data output from the second memory via a path that does not overlap the path from which the first sample data is output And a data comparison / determination unit that compares
When the first sample data and the second sample data match, the calculation result is sent to the first sample data via the same route as the route from which the first sample data is output to the data comparison / determination unit. A semiconductor integrated circuit which is saved from the memory of 1.
前記プロセッサにおける演算結果と、前記比較用プロセッサにおける演算結果とを比較する演算結果比較部と、をさらに備え、
前記データ比較判定部は、
前記演算結果比較部において、前記プロセッサにおける演算結果と、前記比較用プロセッサにおける演算結果とが異なると判定された場合に、前記第1のサンプルデータと、前記第2のサンプルデータとを比較する、請求項1記載の半導体集積回路。 A comparison processor different from the processor;
An operation result comparison unit that compares the operation result in the processor and the operation result in the comparison processor;
The data comparison determination unit
The operation result comparison unit compares the first sample data with the second sample data when it is determined that the operation result in the processor and the operation result in the comparison processor are different. The semiconductor integrated circuit according to claim 1.
前記プロセッサは、
前記第1のメモリから前記データ比較判定部に対して、前記第1のサンプルデータを出力させる、請求項2記載の半導体集積回路。 When the operation result comparison unit determines that the operation result in the processor is different from the operation result in the comparison processor when the processor is operating normally,
The processor is
The semiconductor integrated circuit according to claim 2, wherein the first sample data is output from the first memory to the data comparison / determination unit.
前記動作制御部は、
前記演算結果比較部において、前記プロセッサが通常動作している場合に、前記プロセッサにおける演算結果と、前記比較用プロセッサにおける演算結果とが異なると判定されると、通常動作をしている前記プロセッサを、前記第1のメモリから前記データ比較判定部に対して、前記第1のサンプルデータを出力させる経路故障判定動作に切り替える、請求項3記載の半導体集積回路。 An operation control unit for switching the operation of the processor;
The operation controller is
In the operation result comparison unit, when it is determined that the operation result in the processor is different from the operation result in the comparison processor when the processor is operating normally, the processor performing the normal operation is 4. The semiconductor integrated circuit according to claim 3, wherein the operation is switched to a path failure determination operation for outputting the first sample data from the first memory to the data comparison / determination unit.
前記データ比較判定部において、前記第1のサンプルデータと前記第2のサンプルデータとが一致すると判定されると、前記経路故障判定動作をしているプロセッサを、前記演算結果を前記第1のメモリから退避メモリへ退避させる退避動作へ切り替える、請求項4記載の半導体集積回路。 The operation controller is
When the data comparison / determination unit determines that the first sample data and the second sample data match, the processor performing the path failure determination operation sends the calculation result to the first memory. The semiconductor integrated circuit according to claim 4, wherein the operation is switched to a save operation for saving to a save memory.
前記第1のメモリから出力された前記第1のサンプルデータと、前記第1のサンプルデータが出力された経路と重複しない経路を介して前記第2のメモリから出力された前記第2のサンプルデータとを比較し、
前記第1のサンプルデータと前記第2のサンプルデータとが一致する場合に、前記演算結果を、前記第1のサンプルデータが出力された経路と同じ経路を介して前記第1のメモリから退避させる、データ退避方法。 A processor; a first memory that holds the calculation result of the processor; and first sample data; and a second memory that holds second sample data that is the same as the first sample data. A method of saving data in a semiconductor integrated circuit,
The first sample data output from the first memory, and the second sample data output from the second memory via a path that does not overlap the path from which the first sample data is output And compare
When the first sample data and the second sample data match, the calculation result is saved from the first memory through the same path as the path from which the first sample data is output. Data saving method.
前記プロセッサにおける演算結果と、前記比較用プロセッサにおける演算結果とが異なると判定された場合に、前記第1のサンプルデータと、前記第2のサンプルデータとを比較する、請求項7記載のデータ退避方法。 Comparing the operation result in the processor with the operation result in a comparison processor that performs the same processing as the processor,
8. The data saving according to claim 7, wherein the first sample data is compared with the second sample data when it is determined that an operation result in the processor is different from an operation result in the comparison processor. Method.
前記第1のメモリから前記第1のサンプルデータを出力させる、請求項8記載のデータ退避方法。 When it is determined that the operation result in the processor and the operation result in the comparison processor are different when the processor is operating normally,
The data saving method according to claim 8, wherein the first sample data is output from the first memory.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011114833A JP2012243205A (en) | 2011-05-23 | 2011-05-23 | Semiconductor integrated circuit and data evacuating method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011114833A JP2012243205A (en) | 2011-05-23 | 2011-05-23 | Semiconductor integrated circuit and data evacuating method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2012243205A true JP2012243205A (en) | 2012-12-10 |
Family
ID=47464813
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2011114833A Withdrawn JP2012243205A (en) | 2011-05-23 | 2011-05-23 | Semiconductor integrated circuit and data evacuating method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2012243205A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2021149393A (en) * | 2020-03-18 | 2021-09-27 | 株式会社エヌエスアイテクス | Processor and method for attaining redundancy for processor |
-
2011
- 2011-05-23 JP JP2011114833A patent/JP2012243205A/en not_active Withdrawn
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2021149393A (en) * | 2020-03-18 | 2021-09-27 | 株式会社エヌエスアイテクス | Processor and method for attaining redundancy for processor |
| JP7524562B2 (en) | 2020-03-18 | 2024-07-30 | 株式会社デンソー | Processor and method for making the processor redundant |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10761925B2 (en) | Multi-channel network-on-a-chip | |
| JP6599054B2 (en) | Abnormality determination device, abnormality determination method, and abnormality determination program | |
| JP6266239B2 (en) | Microcomputer | |
| JP2010113388A (en) | Multi-core microcontroller having comparator for collating processing result | |
| US8719650B2 (en) | Self-diagnosis system and test circuit determination method | |
| JP5874492B2 (en) | Fault tolerant control device and control method of fault tolerant system | |
| KR20170131584A (en) | Method for protecting configuration data from a data bus transceiver, data bus transceiver and data bus system | |
| EP3525210B1 (en) | Data register monitoring | |
| CN109558277B (en) | Microcontroller and its control method | |
| US10360115B2 (en) | Monitoring device, fault-tolerant system, and control method | |
| JP6341795B2 (en) | Microcomputer and microcomputer system | |
| WO2016151964A1 (en) | Information processing device | |
| JP2012243205A (en) | Semiconductor integrated circuit and data evacuating method | |
| CN110865906B (en) | Motor initial position angle storage method and device, vehicle and storage medium | |
| JP2014056396A (en) | Electronic controller | |
| JP2011154459A (en) | Program abnormal operation detection device for computer system | |
| JP2006344087A (en) | Control device task management device and control device task management method | |
| JP6588068B2 (en) | Microcomputer | |
| CN107423029B (en) | Calculation unit | |
| JP2008262557A (en) | Control device task management device and control device task management method | |
| JP2006259935A (en) | Computation device with computation abnormality determination function | |
| US12499008B2 (en) | Control register related computing system and method | |
| JP2009282849A (en) | Microcomputer | |
| JP5632804B2 (en) | Control device with bus diagnostic function | |
| JP6275098B2 (en) | Control device and register failure recovery method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140805 |