JP2022051361A - 半導体装置 - Google Patents
半導体装置 Download PDFInfo
- Publication number
- JP2022051361A JP2022051361A JP2020157796A JP2020157796A JP2022051361A JP 2022051361 A JP2022051361 A JP 2022051361A JP 2020157796 A JP2020157796 A JP 2020157796A JP 2020157796 A JP2020157796 A JP 2020157796A JP 2022051361 A JP2022051361 A JP 2022051361A
- Authority
- JP
- Japan
- Prior art keywords
- dcls
- controller
- semiconductor device
- output
- functional blocks
- 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.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N17/00—Diagnosis, testing or measuring for television systems or their details
- H04N17/002—Diagnosis, testing or measuring for television systems or their details for television cameras
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0841—Registering performance data
- G07C5/085—Registering performance data using electronic data carriers
- G07C5/0866—Registering performance data using electronic data carriers the electronic data carrier being a digital video recorder in combination with video camera
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0808—Diagnosing performance data
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0816—Indicating performance data, e.g. occurrence of a malfunction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Hardware Redundancy (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
【課題】機能ブロックの回路規模が大きくなっても単純なDCLS化による回路規模の増大を避けながら、故障の発生後所定の期間内に故障検出が可能な半導体装置を提供する。【解決手段】実施形態の半導体装置1は、ハードウエアアクセラレータ3,4と、DCLS(デュアルコアロックステップ)コントローラ5と、を有する。DCLSコントローラ5は、を複数の実行周期の各実行周期tp内にそれぞれの第1の機能及び第2の機能を実現するように動作させると共に、故障検出時間間隔(FDTI)内に含まれる複数の実行周期tpにおいて、ハードウエアアクセラレータ3,4をデュアルコアロックステップ構成で動作させる実行周期tpのタイミングを決定する。【選択図】図1
Description
本発明の実施形態は、半導体装置に関する。
近年、製品安全製担保の取り組みとして、機能安全が注目されている。例えば、国際標準機構(ISO)は、自動車に関する機能安全を規定するISO26262を発表している。
そのISO26262では、装置に故障が発生してからその故障の検出までの所定の時間として、故障検出時間間隔(FDTI:Fault Detection Time Interval;以下、FDTIと略す)が定義されている。FDTIは、自動車に搭載される半導体装置の要求仕様となる。半導体装置自体に故障が発生したときに、半導体装置がFDTI内にその故障を検出してECU(Electronic Control Unit;以下、ECUという)に通知する。これにより、ECUは、危険を回避して自動車を安全な状態にするための適切な対応をとることができる。
半導体装置自体をテストする手法として、例えばBIST(Built-In Self Test)がある。しかし、半導体装置がBIST機能を有していても、半導体装置の回路規模が大きくなると、BISTによる自己診断処理が、FDTI内に終了しない虞がある。
また、故障診断のためにデュアルコアロックステップ方式(以下、DCLSと略す)を半導体装置に採用することもできる。しかし、デュアルコアロックステップ方式の場合、機能毎に2つの回路ブロックを設けるという単純なDCLS化を行うと、回路規模が倍になるという問題がある。
そこで、実施形態は、機能ブロックの回路規模が大きくなっても、単純なDCLS化による回路規模の増大を避けながら、故障の発生後所定の期間内に故障検出が可能な半導体装置を提供することを目的とする。
実施形態の半導体装置は、第1及び第2の機能ブロックと、前記第1及び前記第2の機能ブロックを複数の周期の各周期内にそれぞれの第1の機能及び第2の機能を実現するように動作させると共に、所定の期間内に含まれる前記複数の周期において、前記第1及び前記第2の機能ブロックをデュアルコアロックステップ構成で動作させる周期のタイミングを決定するコントローラと、を有する。
以下、図面を参照して実施形態を説明する。
(第1の実施形態)
(構成)
図1は、本実施形態の半導体装置のブロック図である。半導体装置1は、ここでは、車載用の半導体装置であり、画像処理を行う。半導体装置1は、複数のハードウエアアクセラレータ(以下、HWAという)を含むハードウエアアクセラレーション部2を有している。図示しないイメージセンサ又はイメージシグナルプロセッサ(以下、ISPという)からの画像データが、ハードウエアアクセラレーション部2に入力される。
(第1の実施形態)
(構成)
図1は、本実施形態の半導体装置のブロック図である。半導体装置1は、ここでは、車載用の半導体装置であり、画像処理を行う。半導体装置1は、複数のハードウエアアクセラレータ(以下、HWAという)を含むハードウエアアクセラレーション部2を有している。図示しないイメージセンサ又はイメージシグナルプロセッサ(以下、ISPという)からの画像データが、ハードウエアアクセラレーション部2に入力される。
半導体装置1は、所定の複数の機能を実行する。半導体装置1において故障が検出されたときには、自動車に搭載されている電子制御装置であるECU100にその故障発生を通知する機能も有する。
ハードウエアアクセラレーション部2は、2つのHWA3,4と、DCLS(デュアルコアロックステップ)コントローラ5と、2つのコンパレータ6,7と、ECC_SRAMラッパーモジュール8と、セレクタ9と、2つのバッファ10,11とを含んでいる。図1は、ハードウエアアクセラレーション部2が、2つのHWA3,4を含む場合を示している。
各HWA3,4は、機能ブロックである。2つのHWA3,4に入力される2つの入力データInput0、1は、同じ画像データでもよいし、互いに異なる画像データでもよい。各HWA3,4は、イメージセンサ又はISPからの画像データに対して、人、信号機などの物体認識などの各種処理を行う。各HWA3,4は、複数種類の認識処理を実行可能であり、2つのHWA3,4は、同じ認識処理を実行可能であると共に、互いに異なる認識処理を実行可能でもある。
HWA3,4は、それぞれ予め決められた実行周期tp毎にフレーム画像に対する人認識、信号機認識などの機能処理を実行する。なお、実行周期tpは、非固定値の場合もある。HWA3,4の各機能は、実行周期tp毎にHWA3,4にそれぞれ入力される第1及び第2のフレーム画像に対する処理により実現される。
例えば、各HWA3,4が画像データに対してニューラルネットワークに基づく認識処理を行うものである場合、各HWA3,4は、ニューラルネットワークに設定される各種パラメータを変更することによって、各種認識処理が実行可能となる。
後述するように、各HWA3,4は、機能ブロックである。2つのHWA3,4は、互いに異なる機能を実行することができると共に、DCLSコントローラ5によりDCLS方式で同じ機能を実行することも可能となっている。
なお、ここでは、半導体装置1の各機能ブロックは、HWAであるが、中央処理装置(CPU)などを含むプロセッサでもよい。
DCLSコントローラ5は、各々が所定の実行周期tpでフレーム画像に対して所定の処理を実行するように2つのHWA3,4の動作を制御する。各HWA3,4には、ISPからフレーム単位の画像、すなわちフレーム画像が入力される。各HWA3,4は、フレーム画像に対して所定の処理を実行する。HWA3,4においてフレーム画像毎に実行される処理は、DCLSコントローラ5からのリセット信号RSによって設定される。また、HWA3の出力Output0及びHWA4の出力Output1は、DCLSコントローラ5に供給されている。
1つのフレーム画像に対して処理が終了した後、DCLSコントローラ5は、垂直ブランキング期間に、HWA3,4にリセット信号RSを送信する。各HWA3,4は、リセット信号RSによりリセットされ、次のフレーム画像に対して実行する処理が指定される。リセット信号RSは、次のフレーム画像に対して実行される処理内容を指定する設定パラメータデータを含む。
また、DCLSコントローラ5は、FDTIレジスタ5aと、タイマ5bと、スケジューラ5cと、レジスタ群5dとを含む。レジスタ群5dには、種々のデータが格納可能となっている。例えば、各種アラーム信号、HWA3,4の推定最長時間、等々のデータが、レジスタ群5dに格納可能である。
FDTIレジスタ5aは、FDTIの値が格納されるレジスタである。FDTIは、任意に設定された時間間隔であり、ECU100等から予め設定され格納される。FDTIは、半導体装置1に故障が発生してからその故障を検出するまでの設定された所定の期間である。
FDTIレジスタ5aに格納されたFDTIの値は、タイマ5bに設定される。タイマ5bは、設定されたFDTIが経過するまでの残り時間trをカウントするカウンタを有する残り時間出力回路である。よって、タイマ5bは、所定のタイミングで計時を開始し、計時の開始タイミングからの経過時間をFDTIから減算して、FDTI内の残り時間trとして出力する。
なお、タイマ5bは、FDTIの値を格納するレジスタと、フリーランカウンタとを有する残り時間出力回路によって置き換えてもよい。フリーランカウンタは、計時の開始タイミングでリセットされる。その場合、FDTIの値を格納するレジスタの値からフリーランカウンタのカウント値を減算した値が出力される。
なお、タイマ5bは、FDTIの値を格納するレジスタと、フリーランカウンタとを有する残り時間出力回路によって置き換えてもよい。フリーランカウンタは、計時の開始タイミングでリセットされる。その場合、FDTIの値を格納するレジスタの値からフリーランカウンタのカウント値を減算した値が出力される。
タイマ5bは、経過時間tcがFDTIに一致すると、カウンタをリセットして、再び、FDTIが経過するまでの残り時間trのカウントを行う。すなわち、タイマ5bは、FDTIの経過毎に、残り時間trの計時を繰り返す。
スケジューラ5cは、FDTI内に半導体装置1の故障の発生を検出するために、タイマ5bの示す残り時間trに基づいて、HWA3,4をDCLS構成で動作させるタイミングを決定して、DCLS構成で動作させるようにHWA3,4を制御する。
すなわち、DCLSコントローラ5は、HWA3,4を実行周期tp内にそれぞれの機能を実現するように複数の実行周期tpで動作させると共に、所定の期間であるFDTI内に含まれる複数の実行周期において、HWA3,4をデュアルコアロックステップ構成で動作させる実行周期のタイミングを決定する。特に、DCLSコントローラ5は、FDTIレジスタ5aに格納されたFDTIと、タイマ5bから出力された残り時間trに基づいて、HWA3,4をデュアルコアロックステップ構成で動作させる実行周期tpのタイミングを決定する。
なお、ここでは、半導体装置1の故障は、断線のようなパーマネント故障を意味し、ノイズなどによるトランジット故障を含まない。トランジット故障に対しては、ECU100などにおいて、複数フレームの処理結果を監視するなどのAoU(Assumption of Use)により対処される。
図2は、FDTIを説明するためのタイムチャートである。例えば、半導体装置1に故障(Fault)が発生すると、故障の発生した時刻T0からFDTI内に故障が検出されなければならない。
図2では、半導体装置1が通常動作(normal operation)しているとき、時刻T0において故障が発生したことが示されている。時刻T1でその故障が検出されている。半導体装置1の故障が検出されると、半導体装置1は、時刻T1において上位装置であるECU100にアラーム信号ALARMを送信することによって、ECU100に故障の発生を通知する。
半導体装置1の故障の発生(T0)から可能性のある危険(Possible Hazard)の発生(T3)までの期間は、フォールトトレラント時間間隔(Fault Tolerant Time Interval。以下、FTTIという)である。よって、半導体装置1の故障の発生からFDTI内にその故障が検知され、時刻T1~T2の期間であるフォールトリアクション時間(Fault Reaction Time。以下、FRTという)内に種々の対応が取られることにより、自動車は、FTTI内に、安全状態(Safe State)に移行することができる。
従って、ECU100は、時刻T1において、半導体装置1からアラーム信号ALARMを受信すると、フォールトリアクション時間FRT内に所定に対応を取ることにより、例えば自動運転システムにおいて、自動車を安全状態(Safety State)にすることができる。
スケジューラ5cは、HWA3,4をDCLS構成で動作させるタイミングを決定する回路である。スケジューラ5cは、タイマ5bの示す残り時間trと、各HWA3,4の処理時間(後述する推定最長時間)とに基づいて、HWA3,4をDCLS構成で動作させるタイミングを決定する。そのタイミングの決定方法については後述する。
DCLSコントローラ5は、HWA3,4をDCLS構成で動作させるとき、切り替え信号DCLS_SWITCHを出力する。切り替え信号DCLS_SWITCHは、コンパレータ6,7と、ECC_SRAMラッパーモジュール8と、セレクタ9とに供給される。
また、DCLSコントローラ5は、ECC_SRAMラッパーモジュール8に対して初期化を行わせるための初期化信号Initを出力可能である。初期化信号Initは、各サイクルの最初にECC_SRAMラッパーモジュール8に出力される。
コンパレータ6は、2つのHWA3,4の2つの出力を比較する回路である。コンパレータ7も、2つのHWA3,4の2つの出力を比較する回路である。コンパレータ6、7は、比較回路を有する。各コンパレータ6、7には、2つのHWA3,4の2つの出力が入力される。各コンパレータ6、7は、切り替え信号DCLS_SWITCHを受信しているとき、2つのHWA3,4の2つの出力を比較する。各コンパレータ6、7の出力は、2つのHWA3,4の2つの出力が一致しないとき、アラーム信号DCLS_ALARMをDCLSコントローラ5へ出力する。なお、各コンパレータ6、7は、切り替え信号DCLS_SWITCHを受信していないときは、同じ値、例えば「0」を出力する。
アラーム信号DCLS_ALARMは、HWA3,4のいずれかが故障している可能性があることを示す。
コンパレータ6,7の出力は、コンパレータ12(点線で示す)に入力される。コンパレータ12は、2つのコンパレータ6、7の2つの出力信号を比較する比較回路である。コンパレータ12は、例えば排他的論理和(XOR)回路である。コンパレータ12は、2つのコンパレータ6、7の2つの出力を比較する。コンパレータ12は、2つのコンパレータ6、7の2つの出力が一致しないとき、アラーム信号CMP_LF_ALARMをDCLSコントローラ5へ出力する。
アラーム信号CMP_LF_ALARMは、コンパレータ6又は7が故障している可能性があることを示す。
ここでは、切り替え信号DCLS_SWITCHを受信しているときにのみ、コンパレータ6,7,12は、比較を行い、比較結果信号としてのアラーム信号DCLS_ALARM及びコンパレータ12からのアラーム信号CMP_LF_ALARMをDCLSコントローラ5へ出力しているが、コンパレータ6,7,12が、常時比較を行い、その比較結果を出力するようにしてもよい。その場合は、DCLSコントローラ5において、コンパレータ6,7からの比較結果を受信するか受信しないかのマスク処理が行われる。
ここでは、切り替え信号DCLS_SWITCHを受信しているときにのみ、コンパレータ6,7,12は、比較を行い、比較結果信号としてのアラーム信号DCLS_ALARM及びコンパレータ12からのアラーム信号CMP_LF_ALARMをDCLSコントローラ5へ出力しているが、コンパレータ6,7,12が、常時比較を行い、その比較結果を出力するようにしてもよい。その場合は、DCLSコントローラ5において、コンパレータ6,7からの比較結果を受信するか受信しないかのマスク処理が行われる。
DCLSコントローラ5は、内部のレジスタ群5dの所定の2つのレジスタに、アラーム信号DCLS_ALARMとアラーム信号CMP_LF_ALARMのデータを格納可能となっている。
DLCSコントローラ5は、アラーム信号DCLS_ALARMとアラーム信号CMP_LF_ALARMのいずれかを受信すると、レジスタ群5dの所定の2つのレジスタに格納すると共に、ECU100へアラーム信号ALARMを出力する。
すなわち、DLCSコントローラ5は、HWA3,4がデュアルコアロックステップ構成で動作しているときに、コンパレータ6、7による比較の結果、HWA3の出力とHWA4の出力が一致しないときに、アラーム信号ALARMを出力する。特に、DLCSコントローラ5は、HWA3,4がデュアルコアロックステップ構成で動作しているときにのみ、コンパレータ6、7による比較の結果に基づいて、アラーム信号ALARMを出力する。
さらに、DLCSコントローラ5は、コンパレータ6の比較結果とコンパレータ7の比較結果とが一致しないときにも、アラーム信号ALARMを出力する。
ECU100は、アラーム信号ALARMを受信すると、自動車をFTTI内に安全状態(Safe State)に移行させるための所定の処理を実行する。また、ECU100は、アラーム信号DCLS_ALARMとアラーム信号CMP_LF_ALARMのデータを、DCLSコントローラ5のレジスタから読み出すことができる。
よって、ECU100は、アラーム信号ALARMを受信すると、DCLSコントローラ5にレジスタ群5dのデータを要求する。ECU100は、受信したレジスタ群5dのデータに基づいて、アラーム信号ALARMの発生が、アラーム信号DCLS_ALARMとアラーム信号CMP_LF_ALARMのいずれによるかを判定することができる。
DLCSコントローラ5は、ECC_SRAMラッパーモジュール8内のSRAMのデータを初期化するための初期化信号Initを出力可能となっている。
ECC_SRAMラッパーモジュール8は、HWA3,4において使用されるデータの書き込み及び読み出し時に使用されるメモリであり、かつデータの書き込み時及び読み出し時にエラーの検出をすることができる。
図3は、ECC_SRAMラッパーモジュール8の構成を示すブロック図である。ECC_SRAMラッパーモジュール8は、2つのECC_SRAM21,22と、3つのセレクタ23,24,25を含む。
ECC_SRAM21,22は、エラー訂正機能付きのSRAMである。ECC_SRAM21,22は、それぞれHWA3,4が処理するデータの書き込み時には、エラー訂正コードを付加してデータを格納する。ECC_SRAM21,22は、それぞれHWA3,4によるデータの読み出し時には、エラー訂正符号を用いて、エラーの検出及び訂正を行う。
すなわち、ECC_SRAMラッパーモジュール8は、HWA3,4がそれぞれデータの書き込み及び読み出しのために用いるECC_SRAM21,22を有する。ECC_SRAM21,22は、各々がデータのエラー訂正機能を有する揮発性のメモリである。
ECC_SRAMラッパーモジュール8は、ECC_SRAM21,22においてエラー訂正出来なかったときには、アラーム信号ECC_AlarmをDCLSコントローラ5に出力する(図1)。
また、ECC_SRAMラッパーモジュール8は、ECC_SRAM21,22を初期化する初期化信号Initを受けると、ECC_SRAM21,22の初期化を行う(図1)。初期化信号Initを受けると、ECC_SRAM21,22内のデータは、初期値になる。
セレクタ23は、HWA3と4への書き込みデータを入力して、切り替え信号DCLS_SWITCHの有無に基づいて、HWA3または4からのいずれかのデータを選択してECC_SRAM22へ出力する。切り替え信号DCLS_SWITCHを受信していないときは、セレクタ23は、HWA4からのデータを選択してECC_SRAM22へ供給する。切り替え信号DCLS_SWITCHを受信しているときは、セレクタ23は、HWA3からのデータを選択してECC_SRAM22へ供給する。
ECC_SRAM22は、セレクタ23を介してHWA3または4からのデータを格納する。ECC_SRAM22には、エラー訂正コードが付加されたデータが格納される。
ECC_SRAM21は、HWA3からのデータを格納する。ECC_SRAM21にも、エラー訂正コードが付加されたデータが格納される。
各セレクタ24,25は、ECC_SRAM21と22からの2つのデータを入力し、切り替え信号DCLS_SWITCHに基づいて、ECC_SRAM21と22からの2つのデータのいずれか1つを選択して出力する。
各セレクタ23,24,25は、切り替え信号DCLS_SWITCHを受信していないときは、HWA3からのデータをECC_SRAM21に書き込み、ECC_SRAM21からのデータをHWA3へ出力するように制御される。同様に、各セレクタ23,24,25は、切り替え信号DCLS_SWITCHを受信していないときは、HWA4からのデータをECC_SRAM22に書き込み、ECC_SRAM22からのデータをHWA4へ出力するように制御される。
また、各セレクタ23,24,25は、切り替え信号DCLS_SWITCHを受信しているときは、HWA3からのデータをECC_SRAM21と22に書き込み、ECC_SRAM21と22からのデータをそれぞれHWA4と3へ出力するように制御される。すなわち、HWA3,4をデュアルコアロックステップ構成で動作させる実行周期のタイミングで、ECC_SRAM21,22には、同じデータが入力される。
図1に戻り、セレクタ9は、DCLSコントローラ5からの切り替え信号DCLS_SWITCHに応じて、HWA4への入力を、入力信号Input1から入力信号Input0へ切り替える回路である。セレクタ9は、切り替え信号DCLS_SWITCHを受信している間、入力信号Input0をHWA4へ供給する。
すなわち、半導体装置1は、HWA3,4へ入力される2つの入力のいずれかを選択するセレクタ(9)を有する。DCLSコントローラ5は、HWA3,4をデュアルコアロックステップ構成で動作させる実行周期のタイミングで、HWA3,4に同じ入力が入力されるようにセレクタ9を制御する。
バッファ10が、入力信号Input0を遅延させるためにセレクタ9の入力側に設けられている。バッファ10は、入力信号Input0を一時的に格納して、入力信号Input0をセレクタ9へ出力するまでの時間を所定時間だけ遅延させる回路である。
バッファ11が、HWA3とコンパレータ6の間に設けられている。バッファ11は、HWA3の出力をコンパレータ6へ出力するまでの時間を所定時間だけ遅延させる回路である。
2つのバッファ10,11は、機能安全の判定をより精度良く行うために、入力される信号を一時的に格納して、出力信号として出力するまでの時間を遅延させる回路である。
よって、バッファ10は、Input0を所定時間だけ遅らせてHWA4へ供給する。バッファ11は、HWA3の出力を所定時間だけ遅らせてコンパレータ6、7に供給する。
なお、バッファ10,11は、機能安全の判定を、より高い確度で行うために設けたものであり、設けなくてもよい。
図4は、HWA3,4において実行される処理のタイムスケジュールを示す図である。上述したように、各HWA3,4は、それぞれ予め決められた実行周期tp毎にフレーム画像に対する所定の処理(人認識、信号機認識など)を実行する。
具体的には、DCLSコントローラ5は、各実行周期tpの最初に(例えば垂直ブランキング期間に)、リセット信号RSをHWA3,4に出力する。各HWA3,4には、実行周期tp毎に所定の機能の処理がされるように、フレーム画像が入力される。HWA3,4は、それぞれ、フレーム画像に対して所定の処理を実行して、認識結果を出力Output0,1として出力する。例えば、HWA3は、人認識処理を実行し、HWA4は、信号機認識処理を実行する。各HWA3,4は、実行周期tp毎に認識結果を出力する。
また、半導体装置1に故障が発生したとき、DCLSコントローラ5は、FDTI内にその故障の発生を検出してアラームをECU100へ通知しなければならない。よって、DCLSコントローラ5は、HWA3,4の動作中に故障が発生したときに、FDTI内にその故障の発生を検出してアラームALARMをECU100へ通知できるように、HWA3,4をDCLS構成で動作させる。
具体的には、DCLSコントローラ5のスケジューラ5cは、タイマ5bの残り時間trに基づいて、DCLS構成でHWA3,4を実行させるタイミング(以下、DCLS構成実行タイミングともいう)を決定する。すなわち、DCLSコントローラ5は、FDTI内にHWA3,4の故障の有無を判定するように、DCLS構成実行タイミングを決定する。
図4の場合、実行周期tpが、時刻t1,t2,・・・において始まり、各実行周期tp内において認識処理が実行され、認識結果が出力Output0,1としてHWA3,4から出力されている。
図4では、タイマ5bは、FDTIの時刻t1に近い時刻t0で残り時間trの計時が開始されている。その後、タイマ5bは、FDTIが経過すると、再び、残り時間trの計時を開始する。よって、タイマ5bは、FDTI毎に、残り時間trの出力をする。
DCLSコントローラ5は、タイマ5bの計時が開始された後の最初の実行周期の開始時刻t1において、残り時間tr内において何番目の実行周期で、HWA3,4をDCLS構成で動作させるかを決定すると共に、リセット信号RSを出力する。
図4の場合、各実行周期内における各HWA3,4の処理時間PT0,PT1を考慮して、HWA3,4をDCLS構成で動作させるタイミングは、FDTIの終わりに近い第4実行周期4Cで実行可能であると判定されている。処理時間PT0,PT1は、HWA3,4において実行される機能に応じて異なるので、推定される最も長く掛かる推定最長時間に基づいて、どの実行周期で、HWA3,4をDCLS構成で動作させるかが決定される。推定最長時間は、DCLSコントローラ5のレジスタ群5dの所定のレジスタに予め設定されていてもよいし、DCLSコントローラ5において実測された各HWA3,4の過去の最長処理時間から選択あるいは推定されてレジスタ群5dの所定のレジスタに設定された値でもよい。
時刻t2においても、DCLSコントローラ5は、タイマ5bが示す残り時間tr内において何番目の実行周期で、HWA3,4をDCLS構成で動作させるかを決定すると共に、リセット信号RSを出力する。その結果、HWA3,4は、それぞれリセット信号RSに基づいて所定の処理を実行する。時刻t2においても、FDTIの終わりに近い第4実行周期4Cで実行可能であると判定されている。
同様に、時刻t3においても、DCLSコントローラ5は、残り時間tr内において何番目の実行周期で、HWA3,4をDCLS構成で動作させるかを決定すると共に、リセット信号RSを出力する。その結果、HWA3,4は、それぞれリセット信号RSに基づいて所定の処理を実行する。時刻t3においても、FDTIの終わりに近い第4実行周期4Cで実行可能であると判定されている。
そして、時刻t4になると、DCLSコントローラ5は、残り時間tr内において何番目の実行周期で、HWA3,4をDCLS構成で動作させるかを決定するが、残り時間tr内に、HWA3,4をDCLS構成で動作させると判定されている。ここでは、残り時間tr内に2以上の推定最長時間を含まれ得ないと判断されて、第4実行周期4Cで、HWA3,4をDCLS構成で動作している。
よって、DCLSコントローラ5は、時刻t1,t2,t3では、リセット信号RSのみをHWA3,4に出力しているが、第4実行周期4Cの開始タイミングの時刻t4において、HWA3,4をDCLS構成で動作させるように、リセット信号RSと、切り替え信号DCLS_SWITCHとをHWA3,4に出力する。
タイマ5bは、残り時間trが0になる度にリセットされる。タイマ5bは、リセットされると、FDTIの残り時間trの出力を、再び開始する。
図4に示すように、時刻t4の次の時刻t5以後も、上述した時刻t1以降の処理と同様の判定が行われる。
なお、ここでは、DCLSコントローラ5は、各時刻t1,t2,t3,t4において、第4実行周期4CにおいてHWA3,4をDCLS構成で動作させることを決定し、各実行周期におけるHWA3,4の動作をスケジューリングしているが、時刻t1において、第1実行周期1C、第2実行周期2C又は第3実行周期3CのいずれかにおいてHWA3,4をDCLS構成で動作させることを決定してスケジューリングし、時刻t1後は、その決定した実行周期にHWA3,4をDCLS構成で動作させるようにしてもよい。
さらになお、DCLSコントローラ5は、HWA3の出力Output0及びHWA4の出力Output1の有無に基づいて、残り時間trが0になってもDCLS構成の動作を終了していないことを判定することができる。よって、DCLSコントローラ5は、スケジューラ5cにより決定された実行周期(上記の例では第4実行周期4C)においてHWA3,4がDCLS構成で動作するが、HWA3,4の少なくとも一方が残り時間trが0になってもDCLS構成の動作を終了していなかったときは、DCLSコントローラ5は、アラーム信号ALARMをECU100へ出力する。DCLSコントローラ5は、レジスタ群5dの所定のレジスタ内に、故障検出が出来なかったことを示す状態フラグを保持する。
ECU100では、アラーム信号ALARMを受信すると、所定の処理を実行する。ECU100は、レジスタ群5d内の各レジスタを参照して、アラーム信号ALARMの出力の原因情報を取得することができる。
また、上述した実施形態では、ハードウエアアクセラレーション部2は、2つのHWA3,4を有しているが、4以上(4,6,8,・・・等の偶数)でもよい。
例えば、4以上のHWAの場合は、DCLSコントローラ5は、一対のHWA毎にDCLS構成で動作させるタイミングを決定する。
以上のように、DCLSコントローラ5は、スケジューラ5cにより、FDTI内においてHWA3,4をDCLS構成で動作させるタイミングを決定する。その決定されたDCLS構成実行タイミングでHWA3,4をDCLS構成で動作させるので、HWA3,4に故障があったときに、DCLSコントローラ5は、FDTI内においてアラーム信号ALARMをECO100へ出力することができる。
DCLSコントローラ5のスケジューラ5cは、FDTIレジスタ5aの値と、タイマ5bの情報から、HWA3,4をDCLS構成で動作させるタイミングを決定する、すなわちスケジューリングを行う。
HWA3,4をDCLS構成で動作させるタイミングにおいて、DCLSコントローラ5は、切り替え信号DCLS_SWITCHを、セレクタ9に出力することによって、HWA3,4をDCLS構成で動作させるようにして、DCLS構成と非DCLS構成を動的に切り替えている。
DCLSコントローラ5は、FDTIの周期に合わせて、決定した1つの実行周期において、2つのHWA3,4をDCLS構成で動作させる。2つのHWA3,4をDCLS構成で動作させているときは、2つのHWA3,4は、同じ入力に対して同じ処理を実行するので、1機能しか実行されない。
しかし、DCLSコントローラ5は、HWA3,4をDCLS構成で動作させる1つの実行周期以外の各実行周期では、HWA3,4のDCLS構成を解除して、2つのHWA3,4に2つの処理を実行可能としている。HWA3,4のDCLS構成が解除されているときは、2つのHWA3,4は、互いに異なる入力に対して処理を実行したり、互いに異なる処理が実行したりすることができるので、2機能が実行可能である。
また、DCLSコントローラ5は、各種アラーム信号DCLS_ALARM、CMP_LF_ALARMの出力を統括することができる。たとえコンパレータ6,7がアラーム信号を出力していても、上述したマスク処理を行うことによって、2つのHWA3,4が非DCLS構成で動作しているときは、DCLSコントローラ5は、ECU100へアラーム信号ALARMを出力しないようにすることができる。
以上のように、上述した実施形態によれば、機能ブロックの回路規模が大きくなっても、単純なDCLS化による回路規模の増大を避けながら、故障の発生後所定の期間内に故障検出が可能な半導体装置を提供することができる。
本発明の実施形態を説明したが、この実施形態は、例として例示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 半導体装置、2 ハードウエアアクセラレーション部、3、4 ハードウエアアクセラレータ、5 コントローラ、5a FDTIレジスタ、5b タイマ、5c スケジューラ、5d レジスタ群、6、7 コンパレータ、8 ECC_SRAMラッパーモジュール、9 セレクタ、10,11 バッファ、12 コンパレータ、21,22 ECC_SRAM、23,24,25 セレクタ、100 ECU。
Claims (12)
- 第1及び第2の機能ブロックと、
前記第1及び前記第2の機能ブロックを複数の周期の各周期内にそれぞれの第1の機能及び第2の機能を実現するように動作させると共に、所定の期間内に含まれる前記複数の周期において、前記第1及び前記第2の機能ブロックをデュアルコアロックステップ構成で動作させる周期のタイミングを決定するコントローラと、
を有する、半導体装置。 - 前記コントローラは、前記所定の期間を格納するレジスタと、前記所定の期間内の残り時間を出力する残り時間出力回路と、を有し、
前記コントローラは、前記レジスタに格納された前記所定の期間と、前記残り時間出力回路から出力された前記残り時間に基づいて、前記第1及び前記第2の機能ブロックを前記デュアルコアロックステップ構成で動作させる前記周期の前記タイミングを決定する、請求項1に記載の半導体装置。 - 前記第1及び前記第2の機能ブロックへ入力される第1及び第2の入力を選択するセレクタを有し、
前記コントローラは、前記第1及び前記第2の機能ブロックを前記デュアルコアロックステップ構成で動作させる周期の前記タイミングで、前記第1及び前記第2の機能ブロックに同じ入力が入力されるように前記セレクタを制御する、請求項1に記載の半導体装置。 - 前記第1の機能ブロックの第1の出力と、前記第2の機能ブロックの第2の出力とを比較する第1の比較回路を有し、
前記コントローラは、前記第1及び前記第2の機能ブロックがデュアルコアロックステップ構成で動作しているときに、前記第1の比較回路による比較の結果、前記第1の出力と前記第2の出力が一致しないときに、アラーム信号を出力する、請求項1に記載の半導体装置。 - 前記第1の機能ブロックの前記第1の出力と、前記第2の機能ブロックの前記第2の出力とを比較する第2の比較回路を有し、
前記コントローラは、前記第1の比較回路の第1の比較結果と前記第2の比較回路の第2の比較結果とが一致しないときに、前記アラーム信号を出力する、請求項1に記載の半導体装置。 - 前記第1の比較回路及び前記第2の比較回路は、前記第1及び前記第2の機能ブロックがデュアルコアロックステップ構成で動作しているときにのみ、前記第1の比較回路による第1の比較の結果と前記第2の比較回路による第2の比較の結果を前記コントローラへ出力する、請求項5に記載の半導体装置。
- 前記コントローラは、前記第1及び前記第2の機能ブロックがデュアルコアロックステップ構成で動作しているときにのみ、前記第1の比較回路による第1の比較の結果と前記第2の比較回路による第2の比較の結果に基づいて、前記アラーム信号を出力する、請求項5に記載の半導体装置。
- 前記第1及び前記第2の機能は、前記周期毎に前記第1及び前記第2の機能ブロックにそれぞれ入力される第1及び第2のフレーム画像に対する処理により実現される、請求項1に記載の半導体装置。
- 前記所定の期間は、前記半導体装置に故障が発生してから前記故障を検出するまでの設定された期間である、請求項1に記載の半導体装置。
- 各々がデータのエラー訂正機能を有する揮発性のメモリであって、前記第1及び前記第2の機能ブロックがそれぞれ前記データの書き込み及び読み出しのために用いる第1及び第2のメモリを有し、
前記第1及び前記第2の機能ブロックを前記デュアルコアロックステップ構成で動作させる周期の前記タイミングで、前記第1及び前記第2のメモリには、同じデータが入力される、請求項1に記載の半導体装置。 - 前記コントローラは、前記第1及び前記第2の機能ブロックの最長処理時間に基づいて、前記第1及び前記第2の機能ブロックを前記デュアルコアロックステップ構成で動作させる周期の前記タイミングを決定する、請求項1に記載の半導体装置。
- 前記最長処理時間は、前記第1の機能ブロックの第1の処理時間及び前記第2の機能ブロックの第2の処理時間における過去の実測値あるいは前記実測値から推定された時間である、請求項11に記載の半導体装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020157796A JP2022051361A (ja) | 2020-09-18 | 2020-09-18 | 半導体装置 |
US17/200,405 US20220094906A1 (en) | 2020-09-18 | 2021-03-12 | Semiconductor device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020157796A JP2022051361A (ja) | 2020-09-18 | 2020-09-18 | 半導体装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022051361A true JP2022051361A (ja) | 2022-03-31 |
Family
ID=80741126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020157796A Abandoned JP2022051361A (ja) | 2020-09-18 | 2020-09-18 | 半導体装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20220094906A1 (ja) |
JP (1) | JP2022051361A (ja) |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3707276B2 (ja) * | 1998-12-21 | 2005-10-19 | トヨタ自動車株式会社 | 車輌の運動制御装置 |
JP4547793B2 (ja) * | 2000-11-17 | 2010-09-22 | 株式会社アドヴィックス | 車両の運動制御装置 |
DE102005037246A1 (de) * | 2005-08-08 | 2007-02-15 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Steuerung eines Rechnersystems mit wenigstens zwei Ausführungseinheiten und einer Vergleichseinheit |
JP4492702B2 (ja) * | 2008-01-11 | 2010-06-30 | トヨタ自動車株式会社 | 異常検出装置 |
JP5206279B2 (ja) * | 2008-09-26 | 2013-06-12 | 株式会社ジェイテクト | 電動パワーステアリング装置 |
EP2572838A1 (en) * | 2010-08-31 | 2013-03-27 | Kabushiki Kaisha Yaskawa Denki | Robot, robot system, robot control device, and state determining method |
WO2013098944A1 (ja) * | 2011-12-27 | 2013-07-04 | トヨタ自動車株式会社 | 車両の積載状態推定方法及び装置 |
US8935679B2 (en) * | 2012-10-10 | 2015-01-13 | Freescale Semiconductor, Inc. | Compiler optimized safety mechanism |
CN203701789U (zh) * | 2013-12-19 | 2014-07-09 | 长春市朗瑞斯铁路装备有限公司 | 具有报警显示的锁 |
US11084523B2 (en) * | 2016-09-15 | 2021-08-10 | Hitachi Astemo, Ltd. | Vehicle-mounted device actuator and power steering device |
WO2018220663A1 (ja) * | 2017-05-29 | 2018-12-06 | 三菱電機株式会社 | 異常判定装置、異常判定方法及び異常判定プログラム |
CN109976299A (zh) * | 2017-12-27 | 2019-07-05 | 上海大郡动力控制技术有限公司 | 用于电动汽车电机控制器的程序流监控方法 |
-
2020
- 2020-09-18 JP JP2020157796A patent/JP2022051361A/ja not_active Abandoned
-
2021
- 2021-03-12 US US17/200,405 patent/US20220094906A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20220094906A1 (en) | 2022-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9052887B2 (en) | Fault tolerance of data processing steps operating in either a parallel operation mode or a non-synchronous redundant operation mode | |
US9207661B2 (en) | Dual core architecture of a control module of an engine | |
JP5608409B2 (ja) | 自己診断システム及び検査回路判定方法 | |
JP6462870B2 (ja) | 半導体装置及び診断テスト方法 | |
US20080046802A1 (en) | Memory controller and method of controlling memory | |
KR100296984B1 (ko) | 전자제어장치용감시시스템 | |
JP2011043957A (ja) | 障害監視回路、半導体集積回路及び故障個所特定方法 | |
KR20150007973A (ko) | 마이크로컴퓨터 | |
RU2411570C2 (ru) | Способ и устройство для сравнения данных в вычислительной системе, включающей в себя по меньшей мере два исполнительных блока | |
JP6207987B2 (ja) | 車載用電子制御装置 | |
JP2016038599A (ja) | マイクロコンピュータ及びマイクロコンピュータシステム | |
JP2022051361A (ja) | 半導体装置 | |
JP5082407B2 (ja) | アクセス競合試験におけるアクセス競合発生システム | |
JP2012150661A (ja) | プロセッサ動作検査システム、及びその検査方法 | |
US11379310B2 (en) | Anomaly detector | |
JP2016126692A (ja) | 電子制御装置 | |
CN115421948A (zh) | 一种检测内存数据故障的方法及其相关设备 | |
US20220222135A1 (en) | Electronic control device | |
US7260741B2 (en) | Method and system to detect software faults | |
US11822425B2 (en) | Programmable device, and controller using the same | |
US20190332506A1 (en) | Controller and function testing method | |
US20110161764A1 (en) | Processor, information processing apparatus, and method of controlling processor | |
JP4613019B2 (ja) | コンピュータシステム | |
JP2018097442A (ja) | 電子制御装置 | |
JP2005210332A (ja) | タイマカウンタ装置、および、タイマカウンタ装置の動作プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220623 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20230220 |