JP2020145356A - 集積回路装置 - Google Patents

集積回路装置 Download PDF

Info

Publication number
JP2020145356A
JP2020145356A JP2019041951A JP2019041951A JP2020145356A JP 2020145356 A JP2020145356 A JP 2020145356A JP 2019041951 A JP2019041951 A JP 2019041951A JP 2019041951 A JP2019041951 A JP 2019041951A JP 2020145356 A JP2020145356 A JP 2020145356A
Authority
JP
Japan
Prior art keywords
data
node
input node
input
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2019041951A
Other languages
English (en)
Inventor
翔一 笹原
Shoichi Sasahara
翔一 笹原
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.)
Toshiba Corp
Toshiba Electronic Devices and Storage Corp
Original Assignee
Toshiba Corp
Toshiba Electronic Devices and Storage Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Electronic Devices and Storage Corp filed Critical Toshiba Corp
Priority to JP2019041951A priority Critical patent/JP2020145356A/ja
Priority to US16/532,605 priority patent/US11054853B2/en
Publication of JP2020145356A publication Critical patent/JP2020145356A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/06Clock generators producing several clock signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1695Error detection or correction of the data by redundancy in hardware which are operating with time diversity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Logic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

【課題】 より高い機能安全機構を有する集積回路装置を提供しようとするものである。【解決手段】 第1処理部は、第1クロックを受け取り、第1入力ノード上のデータに対する第1処理により得られるデータを第1出力ノード上で出力する。第2処理部は、第1クロックを受け取り、第2入力ノード上のデータに対する第1処理により得られるデータを第2出力ノード上で出力する。第3処理部は、第2クロックを受け取り、第3および第4入力ノードにおいて第1入力ノードと接続されており、第3および第4入力ノード上のデータに対する第1処理により得られるデータを第3および第4出力ノードから出力する。判断部は、第1、第2、第3、第4出力ノードと接続された第5、第6、第7、第8入力ノードを有し、第5、第6、第7、第8入力ノードでそれぞれ受け取ったデータに基づいて、第1信号を出力する。【選択図】 図2

Description

実施形態は、概して集積回路装置に関する。
自動車や工場の産業機械などでの用途で、機能安全機構を有する集積回路装置が知られている。そのような集積回路装置は、故障したことなどをより詳しく検出されることができることが求められる。
特開平8−278898号公報
より高い機能安全機構を有する集積回路装置を提供しようとするものである。
一実施形態による集積回路装置は、第1処理部と、第2処理部と、第3処理部と、判断部と、を含む。第1処理部は、第1クロックを受け取り、第1入力ノードおよび第1出力ノードを有し、第1入力ノード上のデータに対する第1処理により得られるデータを上記第1出力ノード上で出力する。第2処理部は、上記第1クロックを受け取り、第2入力ノードおよび第2出力ノードを有し、上記第2入力ノードにおいて上記第1入力ノードと接続されており、上記第2入力ノード上のデータに対する上記第1処理により得られるデータを上記第2出力ノード上で出力する。第3処理部は、上記第1クロックの周期より短い周期の第2クロックを受け取り、第3入力ノード、第4入力ノード、第3出力ノード、第4出力ノードを有し、上記第3入力ノードおよび上記第4入力ノードにおいて上記第1入力ノードと接続されており、上記第3入力ノード上のデータに対する上記第1処理により得られるデータを上記第3出力ノードから出力し、上記第4入力ノード上のデータに対する上記第1処理により得られるデータを上記第4出力ノード上で出力する。判断部は、上記第1出力ノードと接続された第5入力ノードと、上記第2出力ノードと接続された第6入力ノードと、上記第3出力ノードと接続された第7入力ノードと、上記第4出力ノードと接続された第8入力ノードとを有し、上記第5入力ノード上のデータと、上記第6入力ノード上のデータと、上記第7入力ノード上のデータと、上記第8入力ノード上のデータに基づいて、第1信号を出力する。
図1は、第1実施形態の集積回路装置1の機能ブロックを示す。 図2は、第1実施形態のデータ処理部の機能ブロックを示す。 図3は、第1実施形態の時間多重処理ブロックの詳細の例を示す。 図4は、第1実施形態の時間多重処理ブロックのいくつかのノード上の信号および関連する信号を時間に沿って示す。 図5は、第1実施形態の判定ブロックおよび制御部の動作のフローを示す。 図6は、第1実施形態のデータOD1〜OD4の状態の一例を示す。 図7は、第1実施形態のデータOD1〜OD4の状態の別の例を示す。 図8は、参考用のデータ処理部の機能ブロックを示す。
以下に実施形態が図面を参照して記述される。以下の記述において、略同一の機能および構成を有する構成要素は同一符号を付され、繰り返しの説明は省略される場合がある。各機能ブロックは、ハードウェア、コンピュータソフトウェアのいずれかまたは両者を組み合わせたものとして実現することができる。このため、各機能ブロックがこれらのいずれでもあることが明確となるように、概してそれらの機能の観点から記述される。また、各機能ブロックが、以下の例のように区別されていることは必須ではない。例えば、一部の機能が例示の機能ブロックとは別の機能ブロックによって実行されてもよい。さらに、例示の機能ブロックがさらに細かい機能サブブロックに分割されていてもよい。
また、実施形態の方法のフローにおけるいずれのステップも、例示の順序に限定されず、そうでないと示されない限り、例示の順序とは異なる順序でおよび(または)別のステップと並行して起こることが可能である。
本明細書および特許請求の範囲において、ある第1要素が別の第2要素に「接続されている」とは、第1要素が直接的または常時あるいは選択的に導電性となる要素を介して第2要素に接続されていることを含む。
(第1実施形態)
<1.1.構成(構造)>
図1は、第1実施形態の集積回路装置1の機能ブロックを示す。集積回路装置1は、例えば半導体チップとして実現されることができる。図1に示されるように、集積回路装置1は、第1回路部11、データ処理部12、第2回路部13、および制御部14を含む。
第1回路部11および第2回路部13は、任意の組み合わせであることが可能である。すなわち、第1回路部11および第2回路部13は、第1回路部11から出力されたデータIDがデータ処理部12により処理され、データ処理部から出力されたデータODが第2回路部13で受信される限り、任意の機能を有することができる。一例として、第1回路部11は集積回路装置1の外部のデータ入力装置(例えばカメラ)100から画像データを受け取り、これを出力し、データ処理部12は画像データを受け取って画像データに或る処理を施し、第2回路部13は処理されたデータを受け取ることができる。第1回路部11が画像データを出力する例に基づくと、第1回路部11は、例えばエッジ抽出を行う回路であることが可能である。
データ処理部12は、第1回路部11からデータIDを受け取り、受け取ったデータIDに或る処理を施し、処理によって得られたデータODを第2回路部13に送信する。処理は、第1回路部11および第2回路部13の機能に基づいて定まる任意の処理であることが可能である。例えば、上記の第1回路部11が画像データを出力する例に基づくと、データ処理部12により処理は、受け取られた画像データを白黒画像に変換する処理(2値化処理)であることが可能である。
データ処理部12は、下で詳述されるように、機能に対する安全性を保つ機構を有する。データ処理部12は、データ処理の間に自身の状態、特に故障等の異常の有無を判断し、異常が検出されると、制御部14に検出信号DSを送信する。
制御部14は、検出信号DSを受け取ると、受け取ったことに基づいて、第2回路部13を制御する。第1回路部11が画像データを出力するとともにデータ処理部12が白黒変換を行う例に基づくと、第2回路部13は、例えば物体検出処理を行う回路であることが可能である。さらに、このような例の場合、第2回路部13は、集積回路装置1の外部のアクチュエータ110にアクチュエータを制御するための信号を供給し、制御部14は集積回路装置1の外部の表示装置(例えば、LED(light emitting diode)および(または)ディスプレイ)120に制御に基づく状態を示すための信号を送信することができる。
<1.1.1.データ処理部>
図2は、第1実施形態のデータ処理部の機能ブロックを示す。データ処理部12は、データ処理ブロック21、データ処理ブロック22、時間多重処理ブロック23、および判定ブロック24を含む。
データ(入力データ)IDは、データ処理ブロック21のノードAにおいて受け取られる。データ処理ブロック21は、入力データIDに対して処理pを実行することによって得られるデータをノードC上で出力する。例えば、データ処理ブロック21は、処理pを実行できるように構成されており、入力データIDに対して処理pを実行し、処理pの結果得られるデータをノードC上で出力する。データ処理ブロック21は、外部から、例えば制御部14からクロックCLK1を受け取り、クロックCLK1に同期して動作する。データ処理ブロック21から出力されるデータは、以下、出力データOD1と称される。ノードCは、判定ブロック24の第1入力I1に接続されている。
入力データIDはまた、データ処理ブロック22のノードBにおいて受け取られる。データ処理ブロック22は、データ処理ブロック21と同じく、入力データIDに対して処理pを実行することによって得られるデータをノードD上で出力する。例えば、データ処理ブロック22は、処理pを実行できるように構成されており、入力データIDに対して処理pを実行し、処理pの結果得られるデータをノードD上で出力する。データ処理ブロック22は、外部から、例えば制御部14からクロックCLK1を受け取り、クロックCLK1に同期して動作する。データ処理ブロック22から出力されるデータは、以下、出力データOD2と称される。ノードDは、判定ブロック24の第2入力I2に接続されている。
時間多重処理ブロック23は、入力データIDを2つのノードEおよびFにおいて並行して受け取り、時間多重化の原理に基づいて、2つの入力データIDの一方に対して処理pを実行することによって得られるデータと、他方のに対して処理pを実行することによって得られるデータと、をそれぞれノードLおよびノードM上で出力する。
具体的な例として、時間多重処理ブロック23は、パラレル・シリアル(PS)変換ブロック31、データ処理ブロック32、およびシリアル・パラレル(SP)変換ブロック33を含む。
PS変換ブロック31は、第1入力I11および第2入力I12を有し、第1入力I11および第2入力I12において入力データIDを並行して受け取る。PS変換ブロック31は、制御信号Sを外部から、例えば制御部14から受け取り、制御信号Sに基づいて、第1入力I11で受け取られた入力データIDと第2入力I12で受け取られた入力データIDをシリアルにノードG上で出力する。具体的には、PS変換ブロック31は、第1入力I11および第2入力I12で同じ入力データIDを受け取り、第1入力I11で受け取られた入力データID(ID1)をノードGから出力し、次いで、第2入力I12で受け取られた入力データID(ID2)をノードG上で出力する。
データ処理ブロック32は、入力においてノードGと接続されている。データ処理ブロック32は、データ処理ブロック21および22と同じく、入力データIDに対して処理pを実行することによって得られるデータをノードJ上で出力する。例えば、データ処理ブロック32は、データ処理ブロック21および22と同じく、処理pを実行できるように構成されており、入力データIDに対して処理pを実行し、処理pの結果得られるデータをノードJ上で出力する。データ処理ブロック21および22と同じ処理pを行うように構成されている。データ処理ブロック32は、外部から、例えば制御部14からクロックCLK2を受け取り、クロックCLK2に同期して動作する。クロックCLK2は、クロックCLK1より短い周期で立ち上がり、例えば、クロックCLK1の立ち上がりの半分の周期で立ち上がる。よって、データ処理ブロック32は、データ処理ブロック21および22と同じ処理pをデータ処理ブロック21および22より高速に、例えば2倍の速度で実行することができる。データ処理ブロック32は、処理pの結果得られるデータをノードJ上で出力する。
データ処理ブロック32は、例えば、第1入力I11で受け取られた入力データID(ID1)および入力データID(ID2)をノードGでシリアルに受け取ると、データID1に対して処理pが行われた結果得られるデータOD3を出力し、次いで、データID2に対して処理pが行われた結果得られるデータOD4を出力する。
SP変換ブロック33は、入力においてノードJと接続されており、ノードJで受け取られたデータをパラレルに変換して第1出力ノードLおよび第2出力ノードMから並行して出力する。SP変換ブロック33は、クロックCLK1およびCLK2を受け取り、クロックCLK1およびCLK2に基づいて動作する。具体的には、SP変換ブロック33は、データOD3およびOD4を受け取って保持し、次いで、データOD3とOD4をそれぞれノードLおよびMから並行に出力する。
ノードLは、判定ブロック24の第3入力I3に接続されており、ノードMは判定ブロック24の第4入力I4に接続されている。判定ブロック24は、第1入力I1で受け取られたデータ、第2入力I2で受け取られたデータ、第3入力I3で受け取られたデータ、および第4入力I4で受け取られたデータを比較して、受け取られたデータの一致および不一致を判定する。後に詳述されるように、データ処理ブロック21および22、ならびに時間多重処理ブロック23(特にデータ処理ブロック32)が正常な状態であれば、データOD1、OD2、OD3、およびOD4は一致するはずである。判定ブロック24は、データOD1、OD2、OD3、およびOD4の特定の2つが一致していない場合、故障の旨を示す検出信号DS(以下、故障検出信号と称される場合がある)を制御部14に送信する。判定ブロック24は、一致および不一致の詳細に基づいて定まる1または複数ビットの値を内部のレジスタ24Aにおいて保持する。また、判定ブロック24は、データOD1、OD2、OD3、およびOD4のうちの判定の結果に基づいて選択される1つを出力データODとして、第2回路部13に送信する。
制御部14は、故障検出信号を受け取ると、レジスタ24Aの内容を読み出し、レジスタ24Aの内容に基づいて第2回路部13を制御する。
または、検出信号DSが、不一致の検出に加えて、一致および不一致の詳細を示す情報を含んでいてもよい。この場合、制御部14は、レジスタ24Aへのアクセスなく、判定の結果の詳細を知ることができるため、判定ブロック24はレジスタ24Aを有する必要はない。
<1.1.1.時間多重処理ブロック>
図3は、第1実施形態の時間多重処理ブロック23の詳細の例を示す。図3は、処理pが入力値の4乗の計算の例に基づき、データ処理ブロック32が4乗計算のための構成を有する例を示す。データ処理ブロック32の詳細は、図3の例に限られず、処理pの内容に基づいて定まる要素および接続を有する。
図3に示されるように、PS変換ブロック31は、セレクタ311を含む。セレクタ311は、第1入力および第2入力を有し、第1入力においてノードEと接続され、第2入力においてノードFと接続されている。セレクタ311は、制御信号Sに基づいて、ノードEまたはノードFを選択し、選択された方を自身の出力ノードに、すなわち、ノードGに接続する。例として、セレクタ311は、制御信号Sが“1”データ(ハイレベル)の間、ノードEを選択し、制御信号Sが“0”データ(ローレベル)の間、ノードFを選択する。
データ処理ブロック32は、乗算回路321および322、ならびにフリップフロップ回路323を含む。ノードGは、乗算回路321の第1入力および第2入力に接続されている。乗算回路321は、第1入力で受け取られたデータと第2入力で受け取られたデータを乗算し、乗算の結果をノードH上で出力する。
ノードHは、フリップフロップ回路323の入力に接続されている。フリップフロップ回路323は、クロックCLK2を受け取り、入力で受け取られたデータを、受け取られた順に、クロックCLK2に同期してノードI上で出力する。
ノードIは、乗算回路322の第1入力および第2入力に接続されている。乗算回路322は、第1入力で受け取られたデータと第2入力で受け取られたデータを乗算し、乗算の結果をノードJ上で出力する。
SP変換ブロック33は、フリップフロップ回路331、332、および333を含む。フリップフロップ回路331は、入力においてノードJと接続されている。フリップフロップ回路331は、クロックCLK2を受け取り、入力で受け取られたデータを、受け取られた順に、クロックCLK2に同期してノードK上で出力する。
フリップフロップ回路332は、入力においてノードKと接続されている。フリップフロップ回路332は、クロックCLK1を受け取り、入力で受け取られたデータを、受け取られた順に、クロックCLK1に同期してノードL上で出力する。
フリップフロップ回路333は、入力においてノードJと接続されている。フリップフロップ回路333は、クロックCLK1を受け取り、入力で受け取られたデータを、受け取られた順に、クロックCLK1に同期してノードM上で出力する。
<1.2.動作>
<1.2.1.時間多重処理ブロックの動作>
図4は、第1実施形態の時間多重処理ブロック23のいくつかのノード上の信号および関連する信号を時間に沿って示す。
図4に示されるように、クロックCLK1は、1周期の最初の4分の1の期間にわたってハイレベルを維持し、残りの4分の3の期間にわたってローレベルを維持する。図4の例では、クロックCLK1の1周期は、時刻t1から時刻t4にわたり、クロックCLK1は、時刻t1から時刻t2までハイレベルを維持し、時刻t2から時刻t4までローレベルを維持する。時刻t1から時刻t2までの期間、および時刻t2から時刻t3までの期間は、時刻t1からt3までの期間の半分である。時刻t3から時刻t4の期間は、時刻t1から時刻t3の期間と同じ長さである。
クロックCLK2は、クロックCLK1の半分の周期を有し、最初の半分の周期にわたってハイレベルを維持し、残りの周期にわたってローレベルを維持する。図4の例では、クロックCLK2の周期は、時刻t1から時刻t3にわたり、クロックCLK2は、時刻t2で反転する論理を有する。クロックCLK2はクロックCLK1の立ち上がりと同じタイミングで立ち上がる。
制御信号Sは、クロックCLK1と同じ周期を有し、最初の半分の周期にわたってハイレベルを維持し、残りの周期にわたってローレベルを維持する。すなわち、制御信号Sは、時刻t1から時刻t3までハイレベルを維持し、時刻t3から時刻4までローレベルを維持する。制御信号SはクロックCLK1およびCLK2のそれぞれの立ち上がりと同じタイミングで立ち上がる。
例として、入力データIDは、連続するデータa1およびデータa2を含む。第1入力I11で受け取られる入力データID(ID1)は、データa1およびデータa2として引用され、第2入力I12で受け取られる入力データID(ID2)は、データb1およびデータb2として引用される。データa1はデータb1と同一であり、データa2はデータb2と同一である。
時刻t1からt4までにわたって、ノードE上をデータa1が流れ、また、ノードF上をデータb1が流れる。制御信号Sは時刻t1においてハイレベルとなり、よって、時刻t1からはデータa1がセレクタ311によって選択され、時刻t1からはノードG上でデータa1が出力される。時刻t1から、データa1は乗算回路321により受け取られ、ノードH上でデータa1の2乗の値のデータa1が出力される。データa1はフリップフロップ回路323によりラッチされる。
時刻t3において、制御信号Sはローベルに移行する。これにより、時刻t3から、ノードG上でデータb1が出力され、ノードH上でデータb1の2乗の値のデータb1が出力される。データb1はフリップフロップ回路323によりラッチされる。
時刻t3において、クロックCLK2がハイレベルに移行する。これに応答して、フリップフロップ回路323は時刻t2の時点で保持されているデータ、すなわちデータa1をノードI上で出力する。乗算回路322は、ノードI上のデータa1を受け取り、ノードJ上でデータa1の2乗の値のデータa1を出力する。データa1はフリップフロップ回路331および333の両方によりラッチされる。
時刻t4から時刻t6にわたって、ノードE上をデータa2が流れ、また、ノードF上をデータb2が流れる。制御信号Sは時刻t4においてハイレベルに移行し、よって、時刻t4からはデータa2がセレクタ311によって選択され、時刻t4からはノードG上でデータa2が出力される。時刻t4から、データa2は乗算回路321により受け取られ、ノードH上でデータa2の2乗の値のデータa2が出力される。データa2はフリップフロップ回路323によりラッチされる。
時刻t4において、クロックCLK2がハイレベルに移行する。これに応答して、フリップフロップ回路323は時刻t4の時点で保持されているデータ、すなわちデータb1をノードI上で出力する。乗算回路322は、ノードI上のデータb1を受け取り、ノードJからデータb1の2乗の値のデータb1を出力する。データb1はフリップフロップ回路331および333の両方によりラッチされる。
時刻t4においてクロックCLK2がハイレベルに移行することに応答して、フリップフロップ回路331は、時刻t4の時点で保持されているデータ、すなわちデータa1をノードK上で出力する。データa1はフリップフロップ回路332によりラッチされる。
時刻t5において、制御信号Sはローベルに移行する。これにより、時刻t5から、ノードG上でデータb2が出力され、ノードH上でデータb2の2乗の値のデータb2が出力される。データb2はフリップフロップ回路323によりラッチされる。
時刻t5において、クロックCLK2がハイレベルに移行する。これに応答して、フリップフロップ回路323は、時刻t5の時点で保持されているデータ、すなわちデータa2をノードI上で出力する。乗算回路322は、ノードI上のデータa2を受け取り、ノードJ上でデータa2の2乗の値のデータa2を出力する。データa2はフリップフロップ回路331および333の両方によりラッチされる。
時刻t5においてクロックCLK2がハイレベルに移行することに応答して、フリップフロップ回路331は、時刻t5の時点で保持されているデータ、すなわちデータb1をノードK上で出力する。データb1はフリップフロップ回路332によりラッチされる。
時刻t6において、クロックCLK2がハイレベルに移行する。これに応答して、フリップフロップ回路323は、時刻t6の時点で保持されているデータ、すなわちデータb2をノードI上で出力する。乗算回路322は、ノードI上のデータb2を受け取り、ノードJ上でデータb2の2乗の値のデータb2を出力する。データb2はフリップフロップ回路331および333の両方によりラッチされる。
時刻t6においてクロックCLK2がハイレベルに移行することに応答して、フリップフロップ回路331は、時刻t6の時点で保持されているデータ、すなわちデータa2をノードK上で出力する。データa2はフリップフロップ回路332によりラッチされる。
時刻t6において、クロックCLK1がハイレベルに移行する。これに応答して、フリップフロップ回路332は、時刻t6の時点で保持されているデータ、すなわち、データa1をノードL上で出力する。また、時刻t6においてクロックCLK1がハイレベルに移行することに応答して、フリップフロップ回路333は、時刻t6の時点で保持されているデータ、すなわち、データb1をノードM上で出力する。
時刻t7において、クロックCLK2がハイレベルに移行することに応答して、フリップフロップ回路331は、時刻t7の時点で保持されているデータ、すなわちデータb2をノードK上で出力する。データb2はフリップフロップ回路332によりラッチされる。
時刻t8において、クロックCLK1がハイレベルに移行する。これに応答して、フリップフロップ回路332は、時刻t8の時点で保持されているデータ、すなわち、データa2をノードL上で出力する。また、時刻t8においてクロックCLK1がハイレベルに移行することに応答して、フリップフロップ回路333は、時刻t8の時点で保持されているデータ、すなわち、データb2をノードM上で出力する。
こうして、時刻t1から時刻t3までの間にデータa1およびデータb1が供給されると、時刻t6から時刻t8までの間にデータa1およびデータb1が並行して出力され、時刻t4から時刻t6にわたってデータa2およびデータb2が供給されると、時刻t8から時刻t10までの間にデータa2およびデータb2が並行して出力される。
データ処理ブロック32が正常に動作している限り、データa1とデータb1は同じデータであり、データa2とデータb2は同じデータである。
<1.2.2.判定ブロックおよび制御ブロックの動作>
図5は、第1実施形態の判定ブロック24および制御部14の動作のフローを示す。
ステップS1において、判定ブロック24は、データOD1とデータOD2が同じであるかを判断する。データOD1とデータOD2が異なる場合(No分岐)、判定ブロック24は、ステップS2において、故障の旨を示す検出信号DSを出力する。ステップS1でのNoの判断の場合、データOD1およびデータOD2のいずれが正しいか、すなわち、データOD1およびデータOD2のいずれが、入力データIDが処理pによって得られるデータであるのかが判断されることはできない。よって、例えば、判定ブロック24は、出力データを出力しない。
判定ブロック24は、ステップS2において、レジスタ24A中の値を、データOD1とデータOD2が不一致の旨を示す値で更新する。その後、処理は終了する。
ステップS1での判断がYesの場合、判定ブロック24は、ステップS4において、データOD3とデータOD4が同じであるかを判断する。データOD3とデータOD4が同じである場合(Yes分岐)、判定ブロック24は、ステップS6において、データOD1がデータOD3と同じであるかを判断する。ステップS6において、データOD1の代わりにOD2が用いられ、および(または)データOD3の代わりにデータOD4が用いられてもよい。ステップS6では、データOD1はデータOD2と同じであり、データOD3はデータOD4と同じだからである。判定ブロック24は、ステップS7において、データOD1、データOD2、データOD3、およびデータOD4の任意の1つをデータODとして出力し、処理は終了する。
ステップS4において、データOD3がデータOD4と不一致の場合(No分岐)、処理はステップS11に移行する。ステップS11において、データOD1がデータOD3と一致するか、あるいはデータOD1がデータOD4と一致するかのいずれかが満たされるかを判断する。ステップS11での判断がNo場合、これは異常状態を示す。この異常状態は、判定ブロック24の故障を含む。ステップS11のNo分岐は、ステップS12に継続する。ステップS12において、判定ブロック24は、故障検出信号を出力するとともに、異常状態を示す値をレジスタ24Aにセットする。その後、処理は終了する。ステップS11において、データOD1に代えてデータOD2が使用されてもよい。
ステップS11において、データOD1がデータOD3またはOD4と一致する場合(Yes分岐)、処理はステップS14に移行する。ステップS14において、判定ブロック24は、データOD1およびデータOD2の任意の方を出力する。判定ブロック24は、ステップS15において、レジスタ24Aに一時故障を示す値をセットするとともに、故障検出信号を出力する。その後、処理は終了する。ステップS14とステップS15の順番は逆であってもよい。
ステップS6においてデータOD1がデータOD3と相違する場合(No分岐)、処理はステップS18に移行する。ステップS18において、判定ブロック24は、データOD1およびデータOD2の任意の方を出力する。判定ブロック24は、ステップS19において、レジスタ24Aに経年劣化を示す値をセットするとともに、故障検出信号を出力する。その後、処理は終了する。ステップS18とステップS19の順番は逆であってもよい。
図6は、図5のステップS6でのNoの判断の場合の入力データID、およびデータOD1、データOD2、データOD3、ならびにデータOD4を示す。入力データIDはデータDTであり、入力データDTに処理pが施されることによって得られるデータはデータPDTである。
図6のケースでは、データOD1およびデータOD2は、データPDTである。一方、データOD3およびデータOD4の両方がデータPDTと異なるデータEDTである。このケースでは、データOD3を生成するための処理も、データOD4を生成するための処理も、ともに、誤ったデータEDTを生成している。このことは、データ処理ブロック32が常に誤った処理を行っていることを示す。このような現象は、データ処理ブロック32が経年劣化した時に生じ得る。入力データIDがデータ処理ブロック32によって2回処理されて、それぞれの処理において同一の誤ったデータEDTが生成されているからである。
データ処理ブロック21、22、および32は同じ構造を有し、並列に動作しているため、同様に経年劣化すると考えられる。経年劣化は、データ処理ブロック21、22、32の各々での信号の遅延として現れることが多い。データ処理ブロック32は、データ処理ブロック21および22より高速に動作しているため、動作のタイミングのマージンが、データ処理ブロック21および22より小さい。よって、データ処理ブロック21、22、および32が経年劣化すると、データ処理ブロック21および22の経路では正しいデータPDTが得られても、データ処理ブロック32の経路では正しいデータPDTが得られない場合がある。通常の速度(すなわちクロックCLK1の使用)に基づいて、データ処理ブロック21および22によって正しいデータPDTは得られるものの、データ処理ブロック21、22、および32は、経年劣化しており、近い将来に、通常速度でのデータ処理ブロック21および22によっても正しいデータが得られなくなる可能性がある。その前に、データ処理ブロック32を介するデータを使用したデータ処理ブロック32の経年劣化の検出によって、データ処理部12が誤動作を起こす前にデータ処理ブロック21、22、および32の経年劣化に対する対策が取られることができる。
図7は、図5のステップS11でのNoの判断の場合の入力データID、およびデータOD1、データOD2、データOD3、ならびにデータOD4を示す。図7のケースでは、データOD1およびデータOD2は、データPDTである。一方、データOD3およびOD4の一方はデータPDTであるが、他方はデータPDTと異なるデータEDTである。図7は、例として、データOD3がデータEDTである。以下の記述は、この例に基づく。このケースでは、データOD3とデータOD4は異なるものの、一方(データOD4)はデータOD1およびデータOD2と同じである。これは、データ処理ブロック32が、ひいてはデータ処理ブロック21、22、および32が経年劣化を起こしているではなく、ノイズなどの一時的な影響で、正しいデータOD3が得られなかったと考えられることができる。このことに基づいて、図7のケースは、一時的故障であると判断されることができる。
図7のケースの場合、制御部14は、故障検出信号を受け取った後、レジスタ24Aの値から一時的故障であることを知り、必ずしもその後何かしらの対策を取る必要を有しない。
図6と図7のケースではない状態で、故障検出信号が発せられる場合、これは、データ処理ブロック21、22、および32の経年劣化でも一時的故障でもない何かしらの異常をデータ処理部12が有していることを示す。この状態は、制御部14によって、レジスタ24Aの値の読み出しを通じて認識され、認識に基づいて、制御部14はさらなる処理を行うことができる.そのような処理は,例えば、集積回路装置1のシステム全体を制御するブロック、データ処理部12の後段のブロック、例えば第2回路部13の動作の停止などを含み得る。
<1.3.効果>
第1実施形態によれば、故障の状態をより詳しく検出されることができる集積回路装置が提供されることができる。詳細は以下の通りである。
機能安全の機構を有する図8のようなデータ処理回路が知られている。このデータ処理回路は、ある処理pを行う3つのデータ処理ブロック121、122、および123を含み、データ処理ブロック121、122、および123のそれぞれから出力されたデータOD11、OD12、およびOD13が判定ブロック125に供給される。判定ブロック125は、出力データOD11、OD12、OD13を比較し、いずれか1つが(例えばデータOD13)残りの2つ(例えばデータOD11およびOD12)と一致していない場合、一致する2つのデータの一方を出力データODとして出力する。データ処理ブロック123が故障している場合でも、残りのデータ処理ブロック121および122で、なされるべき処理pが実行されることができ、多数決によって、正しいと考えられるデータが選択されることができる。
しかしながら、判定ブロック125は、データ処理ブロック121、122、および123のいずれか1つに異常が起きている事実を検出できるにとどまり、異常の要因を特定することができない。また、データ処理ブロック121、122、および123が経年劣化した場合、データOD11、OD12、およびOD13は、誤っているものの互いに一致するため、判定ブロック125は、データ処理ブロック121、122、および123が、正常に動作していると判断する。これは、データ処理回路の機能安全を十分に実現できておらず、機能安全機構を有するデータ処理回路に改善の余地がある。
第1実施形態によれば、データ処理部12は、共通のデータIDを受け取るとともに処理pを行う2つのデータ処理ブロック21および22と、データIDを受け取るとともに処理pを行うデータ処理ブロック32を含んだ時間多重処理ブロック23を含む。時間多重処理ブロック23は、データ処理ブロック32をデータ処理ブロック21および22より高速に動作させて、データIDとその複製のそれぞれに対して処理pを行う。そして、データ処理部12は、データ処理ブロック21の出力データOD1、データ処理ブロック22の出力データOD2、時間多重処理ブロック23の2つの出力データOD3およびOD4を比較する。この比較により、判定ブロック24は、データ処理部12の経年劣化と一時的故障を区別して検出することができる。よって、より高い性能の機能安全機構を有するデータ処理部12を含んだ集積回路装置1が提供されることができる。
<1.4.変形例>
ここまでの記述は、時間多重処理ブロック23がデータIDの計2つの複製を受け取り、かつクロックCLK2がクロックCLK1の周期の2倍の周期を有し、かつ時間多重処理ブロック23が計2つの出力データを出力する例に基づく。第1実施形態は、この例に限られない。時間多重処理ブロック23が計N(Nは3以上の自然数)個のデータIDの複製を受け取るように構成され、かつクロックCLK2がクロックCLK1の周期のX倍の周期を有し、かつ時間多重処理ブロック23が計X個の出力データを出力するように構成されることができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
1…集積回路装置、11…第1回路部、12…データ処理部、13…第2回路部、14…制御部、21…データ処理ブロック、22…データ処理ブロック、23…時間多重処理ブロック、24…判定ブロック、31…パラレル・シリアル(PS)変換ブロック、32…データ処理ブロック、33…シリアル・パラレル(SP)変換ブロック。

Claims (6)

  1. 第1クロックを受け取り、第1入力ノードおよび第1出力ノードを有し、第1入力ノード上のデータに対する第1処理により得られるデータを前記第1出力ノード上で出力する第1処理部と、
    前記第1クロックを受け取り、第2入力ノードおよび第2出力ノードを有し、前記第2入力ノードにおいて前記第1入力ノードと接続されており、前記第2入力ノード上のデータに対する前記第1処理により得られるデータを前記第2出力ノード上で出力する第2処理部と、
    前記第1クロックの周期より短い周期の第2クロックを受け取り、第3入力ノード、第4入力ノード、第3出力ノード、第4出力ノードを有し、前記第3入力ノードおよび前記第4入力ノードにおいて前記第1入力ノードと接続されており、前記第3入力ノード上のデータに対する前記第1処理により得られるデータを前記第3出力ノードから出力し、前記第4入力ノード上のデータに対する前記第1処理により得られるデータを前記第4出力ノード上で出力する第3処理部と、
    前記第1出力ノードと接続された第5入力ノードと、前記第2出力ノードと接続された第6入力ノードと、前記第3出力ノードと接続された第7入力ノードと、前記第4出力ノードと接続された第8入力ノードとを有し、
    前記第5入力ノード上のデータと、前記第6入力ノード上のデータと、前記第7入力ノード上のデータと、前記第8入力ノード上のデータに基づいて、第1信号を出力する、
    判断部と、
    を備える集積回路装置。
  2. 前記第3処理部は、前記第3入力ノード上のデータと前記第4入力ノード上のデータを相違する時間において処理する、
    請求項1に記載の集積回路装置。
  3. 前記判断部は、前記第1入力ノードへの第1データの入力に対して、前記第5入力ノードと前記第6入力ノードで同じデータを受け取り、かつ前記第7入力ノードと前記第8入力ノードで相違するデータを受け取り、かつ前記第5入力ノードと前記第7入力ノードまたは前記第5入力ノードと前記第8入力ノードとで相違するデータを受け取ると、前記第1信号を出力する、
    請求項1に記載の集積回路装置。
  4. 前記判断部は、前記第1入力ノードへの第2データの入力に対して、前記第5入力ノードと前記第6入力ノードで同じデータを受け取り、かつ前記第7入力ノードと前記第8入力ノードで同じデータを受け取り、かつ前記第5入力ノードと前記第7入力ノードとで相違するデータを受け取ると、前記第1信号を出力する、
    請求項1に記載の集積回路装置。
  5. 前記判断部は、前記第1入力ノードへの第3データの入力に対して、前記第5入力ノード、前記第6入力ノード、前記第7入力ノード、前記第8入力ノードで同じデータを受け取ると、前記第1信号を出力することなく前記第5入力ノード、前記第6入力ノード、前記第7入力ノード、前記第8入力ノードのいずれかの上でのデータを出力する、
    請求項1に記載の集積回路装置。
  6. 前記第1処理部は、前記第1入力ノード上のデータに対して前記第1処理を実行し、
    前記第2処理部は、前記第2入力ノード上のデータに対して前記第1処理を実行し、
    前記第3処理部は、前記第3入力ノード上のデータに対して前記第1処理を実行し、前記第4入力ノード上のデータに対して前記第1処理を実行する、
    請求項1に記載の集積回路装置。
JP2019041951A 2019-03-07 2019-03-07 集積回路装置 Pending JP2020145356A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019041951A JP2020145356A (ja) 2019-03-07 2019-03-07 集積回路装置
US16/532,605 US11054853B2 (en) 2019-03-07 2019-08-06 Integrated circuit device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019041951A JP2020145356A (ja) 2019-03-07 2019-03-07 集積回路装置

Publications (1)

Publication Number Publication Date
JP2020145356A true JP2020145356A (ja) 2020-09-10

Family

ID=72336339

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019041951A Pending JP2020145356A (ja) 2019-03-07 2019-03-07 集積回路装置

Country Status (2)

Country Link
US (1) US11054853B2 (ja)
JP (1) JP2020145356A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114661498A (zh) * 2020-12-22 2022-06-24 扬智科技股份有限公司 电子装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0198034A (ja) 1987-10-09 1989-04-17 Nec Corp 多重冗長系回路
ATE110478T1 (de) * 1990-08-14 1994-09-15 Siemens Ag Einrichtung zur interruptverteilung in einem mehrrechnersystem.
JP3229070B2 (ja) 1993-06-01 2001-11-12 三菱電機株式会社 多数決回路及び制御ユニット及び多数決用半導体集積回路
JPH08278898A (ja) 1995-04-05 1996-10-22 Mitsubishi Electric Corp Cpu判定装置
JP3247043B2 (ja) * 1996-01-12 2002-01-15 株式会社日立製作所 内部信号で障害検出を行う情報処理システムおよび論理lsi
JP3187739B2 (ja) * 1997-03-12 2001-07-11 株式会社東芝 半導体集積回路及びそのテスト方法
US5931959A (en) * 1997-05-21 1999-08-03 The United States Of America As Represented By The Secretary Of The Air Force Dynamically reconfigurable FPGA apparatus and method for multiprocessing and fault tolerance
US6134675A (en) * 1998-01-14 2000-10-17 Motorola Inc. Method of testing multi-core processors and multi-core processor testing device
EP1604281B1 (en) * 2003-03-20 2006-08-09 ARM Limited Systematic and random error detection and recovery within processing stages of an integrated circuit
US7272681B2 (en) * 2005-08-05 2007-09-18 Raytheon Company System having parallel data processors which generate redundant effector date to detect errors
JP5083214B2 (ja) 2006-08-24 2012-11-28 日本電気株式会社 故障予測回路と方法及び半導体集積回路
DE102010013349B4 (de) * 2010-03-30 2013-06-13 Eads Deutschland Gmbh Computersystem und Verfahren zum Vergleichen von Ausgangssignalen
JP6373154B2 (ja) 2014-10-09 2018-08-15 株式会社日立超エル・エス・アイ・システムズ 半導体装置

Also Published As

Publication number Publication date
US20200285266A1 (en) 2020-09-10
US11054853B2 (en) 2021-07-06

Similar Documents

Publication Publication Date Title
JP5987069B2 (ja) シリアル通信信号監視による内部レジスタ自己リセット機能を備えた数値制御システム
US9804575B2 (en) Multiplex control device
US10785057B2 (en) Programmable and reconfigurable frame processor
JP2020145356A (ja) 集積回路装置
JP5925507B2 (ja) データ照合装置、照合方法及びそれを用いた安全保安システム
JP6635602B2 (ja) 故障検出回路
JP2021143890A (ja) 故障検出回路及び半導体装置
KR102076770B1 (ko) 반도체 장치
JP2009180532A (ja) 標準セルおよび半導体装置
US11012090B2 (en) Embedded cyclical redundancy check values
US9128839B2 (en) Numerical control system having removable filter circuit
JP2017091048A (ja) 中継装置、中継方法および中継制御プログラム
JP2013206149A (ja) 半導体集積回路装置及びそれを用いたシステム
US8270557B2 (en) Integrated circuit and method for driving the same
US11700144B2 (en) Master slave communication system and control method for master slave communication system
JP5548744B2 (ja) 信号変換装置
US11016523B2 (en) Control of redundant processing units
JP2008134067A (ja) 半導体集積回路
JP5925925B2 (ja) 診断付き出力装置
CN107025921B (zh) 存储器装置和用于驱动存储器装置的方法
JP6629640B2 (ja) コマンド制御装置、コマンド制御方法、及びコマンド制御プログラム
US20180034687A1 (en) Information processing apparatus and method for controlling the same
KR101701058B1 (ko) 파이프라인 이용과 초기값을 매칭시킨 병렬 crc 모듈
JP2015176349A (ja) 情報処理装置、故障検出方法及びプログラム
JP2009278394A (ja) メッセージ送信回路及び半導体集積回路