JP2008028345A - 誤動作検知回路を含む半導体集積回路とその設計方法 - Google Patents

誤動作検知回路を含む半導体集積回路とその設計方法 Download PDF

Info

Publication number
JP2008028345A
JP2008028345A JP2006202460A JP2006202460A JP2008028345A JP 2008028345 A JP2008028345 A JP 2008028345A JP 2006202460 A JP2006202460 A JP 2006202460A JP 2006202460 A JP2006202460 A JP 2006202460A JP 2008028345 A JP2008028345 A JP 2008028345A
Authority
JP
Japan
Prior art keywords
flip
flop
circuit
integrated circuit
clock
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
JP2006202460A
Other languages
English (en)
Inventor
Masaaki Nagai
正昭 永井
Kenji Tsutsumi
兼二 堤
Hideshi Nakazawa
英志 中澤
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2006202460A priority Critical patent/JP2008028345A/ja
Priority to US11/878,520 priority patent/US20080024173A1/en
Publication of JP2008028345A publication Critical patent/JP2008028345A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/19Monitoring patterns of pulse trains
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/007Fail-safe circuits

Abstract

【課題】半導体集積回路の誤動作によるデータの喪失等に対処するために、回路規模を増大させることなく、簡単な回路構成で実現できる誤動作検知回路を組み込む。温度や電源電圧といったアナログ量の測定に頼ることなく、誤動作対策を実行することができる半導体集積回路を提供することにより、半導体集積回路の信頼性を向上させる。
【解決手段】検知対象である機能ブロック内のフリップフロップが同期しているクロックに比べて、位相が遅れたあるいは進んだクロックと同期するフリップフロップを設け、両フリップフロップの出力の間の論理演算を行うことにより、両フリップフロップでクロックパルス列のうちの適正なクロックパルスのエッジでラッチ動作が行われたかどうかを検知する。不適正なクロックパルスのエッジでラッチ動作が行われたと判断された場合、誤動作対策を実行する。
【選択図】図1

Description

本発明は、半導体集積回路の信頼性を向上させる技術に関する。
近年、半導体チップの信頼性が重要視されており、半導体集積回路の誤動作を防止するために多数の技術が取り入れられている。半導体集積回路の回路特性に影響を与える主な要因としては、半導体チップの周囲あるいは内部の温度や、外部あるいは内部の電源電圧が挙げられる。
一般に製品として出荷される半導体チップには、製品仕様として一定の温度範囲および電圧範囲において動作保証がなされており、製品仕様外で使用された場合は、半導体集積回路の誤動作により、それを用いて動作しているプロセッサが暴走して制御不能に陥ったり、リセットがかかってデータが失われてしまう危険性がある。
このような半導体集積回路の誤動作を防止する技術に関しては、以下の特許文献 1, 2に記載された文献公知発明が存在する。
特許文献 1 に開示されている温度センサ回路は、ゲート長とゲート幅の比が異なる 2つの MOS トランジスタで差動対を構成し、この差動対トランジスタの負荷にゲート長とゲート幅の比が異なる 2 つの MOS トランジスタからなるカレントミラー回路を設け、カレントミラー回路のミラー比と差動対トランジスタのドレイン電流比が等しくなるようにカレントミラー回路の出力を差動対トランジスタに帰還制御するようにすることで、差動対トランジスタの 2 入力間に温度に比例した電圧が得られ、温度センサ回路を CMOS集積回路上に CMOS トランジスタで実現している。温度センサ回路は、様々な用途に用いられているが、例えば、ある基準の温度に対して高いか低いかを判定する場合には、温度センサ回路の出力を比較するために、電圧比較回路および基準電圧発生回路を備えて実現している。
特許文献 2 に開示されている電源電圧検知回路は、電源電圧を分圧して出力する分圧回路と、基準電圧を出力する基準電圧発生回路と、前記分圧回路の出力電圧と前記基準電圧とを比較し、比較結果を出力する比較回路を備えて実現している。
特開平 5-45233 号公報 特開平 6-34676 号公報
ところで、仕様外の動作でなくても、リセットが発生してデータの喪失を招くことがある。この場合、従来技術による温度変動や電圧変動を検知するだけではかかる喪失を防ぎ得ずデータ喪失の防止に万全を期せないという問題点がある。
上記の従来技術による誤動作検知は、半導体チップの周囲あるいは内部の温度や外部あるいは内部の電源電圧の変動を対象としているが、不測のリセットは半導体チップ上の様々な箇所での局所的な温度や電源電圧の変動が要因であるといわれている。かかる変動をもれなく検知するには、チップ上のあらゆる箇所に特許文献 1 および 2 に示した温度センサ、比較回路を設けておく必要があるが、これは現実的ではない。なぜなら、上記の従来の誤動作検知は、温度や電源電圧といったアナログ量に依拠しているので、これらの測定のための素子を組み込む必要があり、組み込む場所や集積度に限界があるからである。
本発明の目的は、温度や電源電圧といったアナログ量の測定に頼ることなく、誤動作対策を実行することができる半導体集積回路を提供することである。
上記課題を解決するため、本発明にかかる誤動作検知回路を含む半導体集積回路は、被検知対象であるフリップフロップを回路内に含む集積回路であって、
前記フリップフロップが、クロックパルス列における適正なクロックパルスのエッジでラッチ動作を行うか、当該エッジより遅れたあるいは進んだ不適正なクロックパルスのエッジでラッチ動作を行うかを検知する検知回路と、
不適正なクロックパルスのエッジでラッチ動作を行う場合、誤動作対策を実行する実行手段と
を備えることを特徴とする集積回路である。
上述した構成では、検知回路は、クロック信号における所定のエッジでラッチ動作を行うか、当該エッジより遅れたあるいは進んだエッジでラッチ動作を行うかを検知するので、アナログ量の測定に依拠することなく、誤動作を検知し対策を実行することができる。ラッチが遅れたかどうか、あるいは、進んだかどうかを判断する検知回路は、論理素子で形成することができるので、場所を選ばずとも、検知回路を組み込むことができ、集積度を高めることができる。半導体集積回路内に検知回路を組み込むので、リアルタイムに誤動作を検知することができ、予めデータ喪失を防止するように RAM 上のデータを退避するなどの誤動作対策をプロセッサに行わせることができる。
ここで、フリップフロップは、組み合わせ回路の後段に接続されており、
適正なクロックパルスのエッジとは、クロックパルス列に含まれるクロックパルスのエッジのうち、組み合わせ回路の出力信号におけるセットアップまたはホールドの直後のクロックパルスのエッジであり、
フリップフロップが、適正なクロックパルスのエッジで正常なラッチ動作を行わないのは、セットアップまたはホールドが所定の時間制約を満たさない場合である
ことを特徴とする集積回路とすることができる。
組み合わせ回路における遅延時間が変化すると、セットアップまたはホールドが所定の時間制約を満たすことができなくなるように回路構成を組むことで、所定のエッジから遅れたあるいは進んだエッジでラッチ動作が行われることを半導体集積回路の誤動作として検知できる。
ここで、検知回路は、
検知対象であるフリップフロップが同期しているクロックパルス列より位相が遅れたあるいは進んだクロックパルス列と同期しているフリップフロップを備え、
セットアップまたはホールドが所定の時間制約を満たさないかどうかの検知は、
検知対象であるフリップフロップの出力と、検知回路内のフリップフロップの出力との間の、論理演算を行うことでなされる
ことを特徴とする集積回路とすることができる。
セットアップまたはホールドが所定の時間制約を満たさないかどうかを、フリップフロップと論理素子を追加するだけで簡単に実現でき、このようなフリップフロップと論理素子の追加は場所を選ばないので、半導体集積回路上の任意の場所の誤動作を検知することができる。
ここで、セットアップまたはホールドが所定の時間制約を満たさない場合は、
集積回路の周囲あるいは内部の温度が規定の温度範囲を越える場合、もしくは、集積回路の外部あるいは内部の電源電圧が規定の電圧範囲を越える場合であり、
検知回路は、集積回路内の組み合わせ回路のうち、セットアップまたはホールドが所定の時間制約を満たさない恐れのあるものの後段のフリップフロップに設けられている
ことを特徴とする集積回路とすることができる。
半導体集積回路の誤動作の主な原因は、温度あるいは電源電圧が製品仕様範囲を超過することにあるので、温度あるいは電源電圧が変動することにより回路のパラメータが変化するとエラーを検知できるように回路を構成することで、基準温度や基準電圧と比較することなく、半導体集積回路の誤動作を検知できる。
ここで、集積回路はクロック供給回路を備え、
クロック供給回路は、ツリー接続された複数のバッファゲートと、複数のバッファゲートのうち最終段にあるものの出力に対し遅延調整を施す遅延調整回路とを備え、
前記組み合わせ回路が同期しているクロックは、最終段のバッファゲートの出力であり、
前記検知回路内のフリップフロップによるラッチ動作は、遅延調整回路により遅延調整がなされた出力に基づく
ことを特徴とする集積回路とすることができる。
誤動作検知回路と被検知回路に入力されるクロックを正確に同期あるいは正確に遅延または先行させることができるので、それぞれの回路に入力されるまでの経路において受ける温度変動や電圧変動の影響をなくすことができる。
ここで、検知回路におけるフリップフロップのセットアップ時間またはホールド時間に対する時間制約は、検知対象であるフリップフロップの時間制約よりも長い
ことを特徴とする集積回路とすることができる。
検知対象であるフリップフロップよりも長いセットアップ時間制約あるいはホールド時間制約のフリップフロップを備えた誤動作検知回路を用いることにより、半導体集積回路の誤動作を事前に検知することができる。
ここで、検知回路は、
機能ブロック内でセットアップ時間がワーストであるフリップフロップが存在する部位、または、機能ブロック内でホールド時間がワーストであるフリップフロップが存在する部位に配置される
ことを特徴とする集積回路とすることができる。
半導体集積回路上の機能ブロックごとに最も誤動作の起こりやすい箇所に誤動作検知回路を配置することで、機能ブロック全体を代表して誤動作を検知することができる。
ここで、検知回路は、
集積回路全体でセットアップ時間がワーストであるフリップフロップが存在する部位、または、集積回路全体でホールド時間がワーストであるフリップフロップが存在する部位に配置される
ことを特徴とする集積回路とすることができる。
半導体集積回路上の最も誤動作の起こりやすい箇所に誤動作検知回路を配置することで、半導体集積回路全体を代表して誤動作を検知することができる。
ここで、前記検知回路は、検知対象であるフリップフロップに入出力される配線経路上の任意の場所に配置されている
ことを特徴とする集積回路とすることができる。
被検知回路に入力される配線経路の任意の場所に誤動作検知回路を配置することで、機能ブロックごとに、被検知回路から離れた位置に誤動作検知回路を配置することができる。
ここで、前記検知回路は、検知対象であるフリップフロップに入出力される配線経路上の任意の場所に配置されている
ことを特徴とする集積回路とすることができる。
被検知回路に入力される配線経路の任意の場所に誤動作検知回路を配置することで、半導体集積回路上に、被検知回路から離れた位置に誤動作検知回路を配置することができる。
ここで、実行手段は、プロセッサ、揮発メモリ、不揮発メモリを含み、
誤動作対策は、プロセッサが揮発メモリに記憶しているデータを不揮発メモリに退避することでなされる
ことを特徴とする集積回路とすることができる。
揮発メモリに記憶しているデータを不揮発メモリに退避することで、リセットがかかってもデータの喪失を防ぐことができる。
ここで、実装基板における論理セルのレイアウトをネットリストに従って決定し、基板上の配線を決定する設計方法であって、
基板上の論理セルおよび配線からセル間の信号遅延を示す遅延情報を抽出し、当該信号遅延に基づき、論理セルのレイアウトを最適化する最適化ステップと、
最適化されたレイアウトに位置した論理セル内のフリップフロップであって検知対象とすべきものを選択するステップと、
選択されたフリップフロップの占有領域近辺に検知回路を配置し、選択されたフリップフロップと検知回路との接続関係を規定するようにネットリストを修正する修正ステップと、
を含むことを特徴とする集積回路の設計方法とすることができる。
誤動作検知回路がない場合の半導体集積回路をレイアウトした後、誤動作検知回路を付加し、レイアウトを修正するという方法をとることで、誤動作検知回路を埋め込んだ半導体集積回路を効率よく設計することができる。
ここで、フリップフロップ選択ステップは、
集積回路上の組み合わせ回路の後段に接続されている複数のフリップフロップをランダムに選択する
ことを特徴とする集積回路の設計方法とすることができる。
誤動作検知回路を配置する位置をランダムに選択することで、半導体集積回路上の特定の箇所に限定せずにサンプリングされた箇所の誤動作を検知する半導体集積回路を設計することができる。
ここで、フリップフロップ選択ステップは、
集積回路上の機能ブロックごとに、セットアップ時間がワーストであるフリップフロップ、および、ホールド時間がワーストであるフリップフロップを選択する
ことを特徴とする集積回路の設計方法とすることができる。
半導体集積回路上の機能ブロックごとに最も誤動作の起こりやすい箇所に誤動作検知回路を配置するように選択することで、機能ブロックごとの誤動作検知を行う半導体集積回路を設計することができる。
ここで、フリップフロップ選択ステップは、
集積回路上で、セットアップ時間がワーストであるフリップフロップ、および、ホールド時間がワーストであるフリップフロップを選択する
ことを特徴とする集積回路の設計方法とすることができる。
半導体集積回路上の最も誤動作の起こりやすい箇所に誤動作検知回路を配置するように選択することで、半導体集積回路全体の誤動作検知を行う半導体集積回路を設計することができる。
〔実施形態 1〕
図 1 は、本発明の実施形態 1 に係る半導体集積回路の概略構成を示す図である。半導体集積回路は、機能ごとに分類された複数の機能ブロックから構成され、機能ブロックの内部には複数の組み合わせ回路が配置されている。機能ブロック内の特定の 組み合わせ回路の周辺の温度変動による誤動作を検知する場合、その組み合わせ回路の後段に誤動作検知回路を配置する。誤動作検知回路は、通常の半導体集積回路の機能を実現する信号 Q とは別に、誤動作検知信号 E を出力し、CPU (Central Processing Unit) に誤動作対策を実行させることができる。例えば、正常動作時において、ROM (Read Only Memory) のデータを読み取り、あるいは、RAM (Random Access Memory) のデータを読み書きしている CPU は、RAM のデータを EEPROM (Electronically Erasable and Programmable Read Only Memory) に退避する。
以下、誤動作検知回路の詳細について説明する。
《セットアップエラー検知》
図 2 は、本発明の実施形態 1 に係る半導体集積回路のセットアップエラーを検知する誤動作検知回路を示す図であり、半導体チップの機能を実現する ロジック回路 101 と、ロジック回路 101 を構成しているフリップフロップのセットアップエラーを検知する誤動作検知回路 102 とから構成される。以下、ロジック回路 101 および誤動作検知回路102 の正常動作時のタイミングチャートである図 3 を参照しながら、各回路構成要素について説明する。
ロジック回路 101 は、一般的なロジック回路の例として、クロック CK1 に同期したフリップフロップ 103 および 105 と、例えば、複数のバッファゲートから構成される組み合わせ回路 104 とから構成される。クロック CK1 は、例えば、図 3 に示すように、周期 Tc の矩形波である。誤動作検知回路 102 は、フリップフロップ 105 におけるセットアップエラーを検知する。
フリップフロップ 103 は、入力 Din1 に対して、クロック CK1 に同期した出力Qout1 を出力する。例えば、図 3 に示すように、入力 Din1 は、クロック CK1 の 1番目の立ち上がりエッジでトリガーされ、出力 Qout1 を出力する。ここで、フリップフロップ 103 のセル遅延を Td1 とする。
組み合わせ回路 104 は、遅延時間 Tdlogic をもち、例えば、図 3 に示すように、入力Qout1 に対して、出力 Din2 を出力する。
フリップフロップ 105 は、入力 Din2 に対して、クロック CK1 に同期した出力 Qout2を出力する。クロック CK1 の立ち上がりエッジに対する入力 Din2 のセットアップ時間 Tc - Td1 - Tdlogic と、フリップフロップ 105 のセットアップ時間制約 Tsu2 との間の関係が以下の式 1 を満たすとき、フリップフロップ 105 は、入力 Din2 をクロックCK1 の適正な立ち上がりエッジで正常にトリガーすることができる。
Tc - Td1 - Tdlogic≧ Tsu2 (1)
このとき、例えば、図 3 に示すように、入力 Din2 は、クロック CK1 の 2 番目の立ち上がりエッジでトリガーされ、出力 Qout2 を出力する。ここで、フリップフロップ 105のセル遅延を Td2 とする。
ロジック回路 101 において、入力 Din1 、出力 Qout2 、およびクロック CK1 は、実際に半導体チップの機能を実現するロジック回路の信号であり、以下で説明する誤動作検知回路 102 は半導体チップを動作したままリアルタイムに誤動作を検知するものである。
誤動作検知回路 102 は、クロック CK2 に同期したフリップフロップ 106 およびクロック CK1 に同期したフリップフロップ 108 と、入力信号の排他的論理和を演算する Ex-OR ゲート 107 とから構成される。クロック CK2 は、例えば、図 3 に示すように、クロック CK1 の位相を ΔT1 だけ遅らせたクロックである。クロック CK2 はフリップフロップ 105 のセットアップエラーを検知するためのクロックである。
フリップフロップ 106 は、入力 Din2 に対して、クロック CK2 に同期した出力 Qout3を出力する。クロック CK2 の立ち上がりエッジに対する入力 Din2 のセットアップ時間 (Tc + ΔT1) - Td1 - Tdlogic と、フリップフロップ 106 のセットアップ時間制約 Tsu3との間の関係が以下の式 2 を満たすとき、フリップフロップ 106 は、入力 Din2 をクロック CK2 の適正な立ち上がりエッジで正常にトリガーすることができる。
(Tc + ΔT1) - Td1 - Tdlogic≧ Tsu3 (2)
このとき、例えば、図 3 に示すように、入力 Din2 は、クロック CK2 の 2 番目の立ち上がりエッジでトリガーされ、出力 Qout3 を出力する。ここで、フリップフロップ 106のセル遅延を Td3 とする。
フリップフロップ 105 のセットアップ時間制約 Tsu2 とフリップフロップ 106 のセットアップ時間制約 Tsu3 との関係は、Tsu2 ≧ Tsu3 であるとする。
Ex-OR ゲート 107 は、フリップフロップ 105 の出力 Qout2 と フリップフロップ 106の出力 Qout3 を入力として、例えば、図 3 に示すように、両入力の排他的論理和を演算した結果を出力 Din4 として出力する。ここで、Ex-OR ゲート 107 のセル遅延を Tdgとする。
フリップフロップ 108 は、入力 Din4 に対して、クロック CK1 に同期した出力Eout を出力する。例えば、図 3 に示すように、クロック CK1 の立ち上がりエッジで入力 Din4 が常に "L" であるので、出力 Eout は常に "L" となる。これが正常動作時の誤動作検知回路 102 の出力である。
クロック CK1 およびクロック CK2 の供給回路および遅延調整回路については後述する。
次に、図 2 の ロジック回路 101 のセットアップエラーを検知する誤動作検知回路 102の誤動作時のタイミングチャートである図 4 を参照しながら、セットアップエラー検知の原理を説明する。
組み合わせ回路 104 で温度が上昇することで、組み合わせ回路 104 の遅延時間 Tdlogicが増大し、クロック CK1 の立ち上がりエッジに対する入力 Din2 のセットアップ時間Tc - Td1 - Tdlogic と、フリップフロップ 105 のセットアップ時間制約 Tsu2 との間の関係が以下の式 3 のようになると、フリップフロップ 105 は、入力 Din2 をクロック CK1の適正な立ち上がりエッジで正常にトリガーすることができず、セットアップエラーが起こる。
Tc - Td1 - Tdlogic < Tsu2 (3)
このとき、例えば、図 4 に示すように、入力 Din2 は、クロック CK1 の 3 番目の立ち上がりエッジでトリガーされ、出力 Qout2 を出力する。
フリップフロップ 106 においては、組み合わせ回路 104 の遅延時間 Tdlogic が増大しても、クロック CK2 の立ち上がりエッジに対する入力 Din2 のセットアップ時間(Tc + ΔT1) - Td1 - Tdlogic と、フリップフロップ 106 のセットアップ時間制約 Tsu3 との間の関係が式 2 を満たす限り、フリップフロップ 106 は、入力 Din2 をクロック CK2の適正な立ち上がりエッジで正常にトリガーすることができる。このとき、例えば、図 4に示すように、入力 Din2 は、クロック CK2 の 2 番目の立ち上がりエッジでトリガーされ、出力 Qout3 を出力する。
フリップフロップ 105 がセットアップエラーによって誤動作し、フリップフロップ 106が正常動作した場合、図 4 に示すように、Ex-OR ゲート 107 は出力 Din4 を出力する。その結果、フリップフロップ 108 において、入力 Din4 はクロック CK1 の立ち上がりエッジで "H" となるため、出力 Eout は、"H" を出力する。このようにして、セットアップエラーによる誤動作を検知することができる。
《ホールドエラー検知》
図 5 は、本発明の実施形態 1 に係る半導体集積回路のホールドエラーを検知する誤動作検知回路を示す図であり、半導体チップの機能を実現するロジック回路 101 と、ロジック回路 101 を構成しているフリップフロップのセットアップエラーを検知する誤動作検知回路 202 とから構成される。以下、ロジック回路 101 および誤動作検知回路 202 の正常動作時のタイミングチャートである図 6 を参照しながら、各回路構成要素について説明する。
ロジック回路 101 は、図 2 のロジック回路 101 と同様である。誤動作検知回路 102は、フリップフロップ 105 におけるホールドエラーを検知する。
クロック CK1 の立ち上がりエッジに対する入力 Din2 のホールド時間 Td1 + Tdlogicと、フリップフロップ 105 のホールド時間制約 Thd2 との間の関係が以下の式 4 を満たすとき、フリップフロップ 105 は Din2 をクロック CK1 の適正な立ち上がりエッジで正常に保持することができる。
Td1 + Tdlogic≧ Thd2 (4)
このとき、例えば、図 6 に示すように、入力 Din2 は、クロック CK1 の 4 番目の立ち上がりエッジでトリガーされ、出力 Qout2 を出力する。
誤動作検知回路 202 は、図 2 の誤動作検知回路 102 に、否定演算を行う NOT ゲート 109 を付加した回路構成である。クロック CK2 は、例えば、図 6 に示すように、クロック CK1 の位相を ΔT2 だけ進ませたクロックである。クロック CK2 は フリップフロップ 105 のホールドエラーを検知するためのクロックである。
クロック CK2 の立ち上がりエッジに対する入力 Din2 のホールド時間 ΔT2 + Td1 +Tdlogic と、フリップフロップ 106 のホールド時間制約 Thd3 との間の関係が以下の式 5を満たすとき、入力 Din2 をクロック CK2 の適正な立ち上がりエッジで正常に保持することができる。
ΔT2 + Td1 + Tdlogic≧ Thd3 (5)
このとき、例えば、図 6 に示すように、入力 Din2 は、クロック CK2 の 4 番目の立ち上がりエッジでトリガーされ、出力 Qout1 が出力される。
フリップフロップ 105 のホールド時間制約 Thd2 と フリップフロップ 106 のホールド時間制約 Thd3 との関係は、Thd2 ≧ Thd3 であるとする。
フリップフロップ 108 は、入力 Din4 に対して、クロック CK1 の反転クロックに同期した出力 Eout を出力する。例えば、図 6 に示すように、クロック CK1 の立ち下がりエッジで入力 Din4 が常に "L" であるので、出力 Eout は常に "L" となる。これが正常動作時の誤動作検知回路 202 の出力である。
クロック CK1 およびクロック CK2 の供給回路および遅延調整回路については後述する。
次に、図 5 のロジック回路 101 のホールドエラーを検知する誤動作検知回路 202 の誤動作時のタイミングチャートである 図 7 を参照しながら、ホールドエラー検知の原理を説明する。
組み合わせ回路 104 で温度が降下することで、組み合わせ回路 104 の遅延時間 Tdlogicが減少し、クロック CK1 の立ち上がりエッジに対する入力 Din2 のホールド時間Td1 + Tdlogic と、フリップフロップ 105 のホールド時間制約 Thd2 との間の関係が以下の式 6 のようになると、フリップフロップ 105 は、入力 Din2 をクロック CK1 の適正な立ち上がりエッジで正常に保持することができず、ホールドエラーが起こる。
Td1 + Tdlogic < Thd2 (6)
このとき、例えば、図 7 に示すように、入力 Din2 は、クロック CK1 の 3 番目の立ち上がりエッジでトリガーされ、出力 Qout2 を出力する。
フリップフロップ 106 においては、組み合わせ回路 104 の遅延時間 Tdlogic が減少しても、クロック CK2 の立ち上がりエッジに対する入力 Din2 のホールド時間ΔT2 + Td1 + Tdlogic と、フリップフロップ 106 のホールド時間制約 Thd3 との間の関係が式 5 を満たす限り、フリップフロップ 106 は、入力 Din2 をクロック CK2 の適正な立ち上がりエッジで正常に保持することができる。このとき、例えば、図 7 に示すように、入力 Din2 は、クロック CK2 の 4 番目の立ち上がりエッジでトリガーされ、出力 Qout3 を出力する。
フリップフロップ 105 がホールドエラーによって誤動作し、フリップフロップ 106 が正常動作した場合、図 7 に示すように、Ex-OR ゲート 107 は出力 Din4 を出力する。その結果、フリップフロップ 108 において、入力 Din4 はクロック CK1 の立ち下がりエッジで "H" となるため、出力 Eout は "H" を出力する。このようにして、ホールドエラーによる誤動作を検知することができる。
《クロック供給回路および遅延調整回路》
次に、図 2 および図 5 におけるクロック CK1 および CK2 について説明する。
図 8 は、クロック供給回路を示す図である。図 8 において、クロック供給回路は、クロック供給源 302 からバッファゲートを介して、順次同じ数で分岐するクロックツリー301 と、クロックツリー 301 の最終段の バッファゲート群 305 の各出力に付加した遅延調整回路 303 から構成される。遅延調整回路 303 は、遅延時間の異なる、3 種類のクロック 304 を出力する。
図 9 は、図 8 の遅延調整回路を示す図である。図 9 において、CKin は、図 8 のクロックツリー 301 の最終段の バッファゲート群 305 の各出力である。遅延調整回路は、バッファゲート群 401 によって遅延したクロック CKout1 と、バッファゲート群 401 と402 によって遅延したクロック CKout2 と、CKin と同じクロック CKout3 を出力する。
図 10 は、図 9 の遅延調整回路のタイミングチャートである。図 10 おいて、クロックCKout1 は、入力 CKin に対して Δt1 時間遅延した信号である。クロック CKout2 は、入力 CKin に対して (Δt1 + Δt2) 時間遅延した信号である。クロック CKout3 は、入力 CKin と同じ信号である。クロック CKout1 に対して、クロック CKout2 は Δt2時間遅れたクロックであり、クロック CKout3 は Δt1 時間進んだクロックである。
図 2 において、CK1 には図 10 のクロック CKout1 を供給し、CK2 には図 10 のクロック CKout2 を供給することで、セットアップエラーを検知することができる。
図 5 において、CK1 には図 10 のクロック CKout1 を供給し、CK2 には図 10 のクロック CKout3 を供給することで、ホールドエラーを検知することができる。
《検知結果》
図 11 は、図 2 および図 5 に示した誤動作検知回路を用いて、半導体チップの外部または内部の温度変動による回路誤動作を検知した場合の誤動作検知結果を示した図である。
図 11 において、誤動作範囲 1 では、図 5 に示した誤動作検知回路によりホールドエラーを検知し、誤動作範囲 2 では、図 2 に示した誤動作検知回路によりセットアップエラーを検知する。
図 2 および図 5 の誤動作検知回路は、簡単なロジック回路で構成することができるため、半導体チップの任意の箇所に複数個配置することができる。
このような構成により、半導体チップの外部または内部の温度変動による回路誤動作を検知することができる。
〔実施形態 2〕
《セットアップエラー検知》
図 12 は、本発明の実施形態 2 に係る半導体集積回路の誤動作検知回路で用いるセットアップエラーを検知する機能を有するフリップフロップの図である。フリップフロップ500 は、図 2 の組み合わせ回路 104 より後段の回路構成に、バッファゲート群 501 を付加した回路構成である。内部フリップフロップ 105 および 108 が、クロック CK により駆動し、内部フリップフロップ 106 が、クロック CK をバッファゲート群 501 によって ΔT1 時間遅らせたクロックにより駆動する点を除いて、図 12 のフリップフロップ500 の正常動作時および誤動作時の動作は、実施形態 1 で説明した図 3 および図 4 のタイミングチャートと同様である。従って、正常動作時は、検知結果 E は常に "L" を出力し、誤動作時は "H" を出力するので、セットアップエラーによる誤動作を検知することができる。
図 13 は、図 12 の フリップフロップ 500 において、内部フリップフロップ 106 のクロック入力を、フリップフロップ 500 の外部から供給するようにしたフリップフロップの図である。フリップフロップ 600 は、図 2 の組み合わせ回路 104 より後段の回路構成と同様である。図 13 のセットアップエラーを検知する機能を有するフリップフロップ600 の正常動作時および誤動作時の動作は、実施形態 1 で説明した図 3 および図 4 のタイミングチャートを同様である。従って、正常動作時は検知結果 E は常に "L" を出力し、誤動作時は "H" を出力するので、セットアップエラーによる誤動作を検知することができる。
《ホールドエラー検知》
図 14 は、本発明の実施形態 2 に係る半導体集積回路の誤動作検知回路で用いるホールドエラーを検知する機能を有するフリップフロップの図である。フリップフロップ 700は、図 5 の組み合わせ回路 104 より後段の回路構成に、バッファゲート群 701 を付加した回路構成である。内部フリップフロップ 106 および 108 が、クロック CK およびその反転クロックによりそれぞれ駆動し、内部フリップフロップ 105 が、クロック CK をバッファゲート群 701 によって ΔT2 時間遅らせたクロックにより駆動する点を除いて、図 14 のホールドエラーを検知する機能を有するフリップフロップ 700 の正常動作時および誤動作時の動作は、実施形態 1 で説明した図 6 および図 7 のタイミングチャートと同様である。従って、正常動作時は常に "L" を出力し、誤動作時は "H" を出力するので、ホールドエラーによる誤動作を検知することができる。
図 15 は、図 14 の フリップフロップ 700 において、内部フリップフロップ 105 のクロック入力を、フリップフロップ 700 の外部から供給するようにしたフリップフロップの図である。フリップフロップ 800 は、図 5 の組み合わせ回路 104 より後段の回路構成と同様である。図 15 のホールドエラーを検知する機能を有するフリップフロップ 800 の正常動作時および誤動作時の動作は、実施形態 1 で説明した図 6 および図 7 のタイミングチャートと同様である。従って、検知結果 E は、正常動作時は常に "L" を出力し、誤動作時は "H" を出力するので、ホールドエラーによる誤動作を検知することができる。
《検知結果》
図 12 から図 15 のフリップフロップを用いて半導体チップの外部または内部の温度変動による回路誤動作を検知した場合の誤動作検知結果は、実施形態 1 の図 11 と同様である。
図 12 から図 15 で示したフリップフロップは、簡単なロジック回路で構成できる複合的なフリップフロップであるため、容易に半導体チップの任意の箇所に複数個配置することができる。また、図 12 および図 14 については、各フリップフロップのクロック CKは、実際に半導体チップの機能を実現しているロジック回路を駆動するためのクロックであるため、誤動作検知のためのクロックを別途供給することなく配置することができる。
このような構成により、半導体チップの外部および内部の広範囲において、局所的な温度変動による回路誤動作を検知することができる。
〔実施形態 3〕
図 16 は、本発明の実施形態 3 に係る半導体集積回路の誤動作検知回路の概略図である。図 16 において、半導体集積回路 1001 は、例として、3 つの機能ブロック 1002、1003、1004 から構成される。各機能ブロック 1002、1003、1004 において、機能ブロックを構成しているフリップフロップの中で、セットアップ時間がワーストであるフリップフロップを、それぞれ、フリップフロップ 1005、1007、1009 とし、ホールド時間がワーストであるフリップフロップを、それぞれ、フリップフロップ 1006、1008、1010 とする。各機能ブロックのセットアップ時間およびホールド時間がワーストであるフリップフロップに対して、実施形態 1 および 2 で説明した誤動作検知回路を配置する。
このような構成により、機能ブロックごとに最低 2 つの誤動作検知回路を配置するだけで、半導体チップの外部および内部の温度変動による回路誤動作を検知することができる。
〔実施形態 4〕
図 17 は、本発明の実施形態 4 に係る半導体集積回路の誤動作検知回路の概略図である。半導体集積回路 1101 を構成しているフリップフロップの中で、セットアップ時間がワーストであるフリップフロップをフリップフロップ 1102 とし、ホールド時間がワーストであるフリップフロップをフリップフロップ 1103 とする。フリップフロップ 1102 およびフリップフロップ 1103 に対して、実施形態 1 および 2 で説明した誤動作検知回路を配置する。
このような構成により、半導体集積回路全体に対して最低 2 つの誤動作検知回路を配置するだけで、半導体チップの外部および内部の温度変動による回路誤動作を検知することができる。
〔実施形態 5〕
《ホールドエラー検知》
本発明の実施形態 5 に係る半導体集積回路のホールドエラーを事前に検知する誤動作検知回路を示す図は、図 2 と同様である。誤動作検知回路 102 は、フリップフロップ 106におけるホールドエラーを検知する。
ロジック回路 101 および誤動作検知回路 102 の正常動作時のタイミングチャートである図 18 は、誤動作検知回路 102 を駆動するクロック CK2 が、クロック CK1 をΔT1 だけ遅らせたクロックであることを除いて、図 6 と同様である。
フリップフロップ 105 は、クロック CK1 の立ち上がりエッジに対する入力 Din2 のホールド時間 Td1 + Tdlogic と、フリップフロップ 105 のホールド時間制約 Thd2 との間の関係が以下の式 7 を満たすとき、入力 Din2 をクロック CK1 の適正な立ち上がりエッジで正常に保持することができる。
Td1 + Tdlogic≧ Thd2 (7)
フリップフロップ 106 は、クロック CK2 の立ち上がりエッジに対する入力 Din2 のホールド時間 ΔT1 + Td1 + Tdlogic と、フリップフロップ 106 のホールド時間制約 Thd3との間の関係が以下の式 8 を満たすとき、入力 Din2 をクロック CK2 の適正な立ち上がりエッジで正常に保持することができる。
ΔT1 + Td1 + Tdlogic≧ Thd3 (8)
フリップフロップ 105 のホールド時間制約 Thd2 とフリップフロップ 106 のホールド時間制約 Thd3 との関係は、Thd2 ≦ Thd3 であるとする。
フリップフロップ 108 は、入力 Din4 に対して、クロック CK1 に同期した出力 Eoutを出力する。例えば、図 18 に示すように、クロック CK1 の立ち上がりエッジで入力Din4 が常に "L" であるので、出力 Eout は常に "L" となる。これが正常動作時の誤動作検知回路 102 の出力である。
次に、ロジック回路 101 およびホールドエラーを事前に検知する誤動作検知回路 102の誤動作時のタイミングチャートである図 19 を参照しながら、ホールドエラー検知の原理を説明する。
組み合わせ回路 104 で温度が降下することで、組み合わせ回路 104 の遅延時間 Tdlogicが減少しても、クロック CK1 の立ち上がりエッジに対する入力 Din2 のホールド時間Td1 + Tdlogic と、フリップフロップ 105 のホールド時間制約 Thd2 との間の関係が式 7を満たす限り、フリップフロップ 105 は、入力 Din2 をクロック CK1 の適正な立ち上がりエッジで正常に保持することができる。
フリップフロップ 106 においては、組み合わせ回路 104 の遅延時間 Tdlogic が減少し、クロック CK2 の立ち上がりエッジに対する入力 Din2 のホールド時間 Td1 +Tdlogic-ΔT1と、フリップフロップ 106 のホールド時間制約 Thd3 との間の関係が以下の式 9 のようになると、フリップフロップ 106 は、入力 Din2 をクロック CK2 の適正な立ち上がりエッジで正常に保持することができず、ホールドエラーが起こる。
Td1 + Tdlogic- ΔT1 < Thd3 (9)
このとき、例えば、図 19 に示すように、入力 Din2 は、クロック CK2 の 3 番目の立ち上がりエッジでトリガーされ、出力 Qout2 を出力する。
フリップフロップ 105 が正常動作し、フリップフロップ 106 がホールドエラーによって誤動作した場合、図 19 に示すように、Ex-OR ゲート 107 は出力 Din4 を出力する。その結果、フリップフロップ 108 において、入力 Din4 はクロック CK1 の立ち上がりエッジで "H" となるため、出力 Eout は "H" を出力する。このようにして、ホールドエラーによる誤動作を事前に検知することができる。
《セットアップエラー検知》
本発明の実施形態 5 に係る半導体集積回路のセットアップエラーを事前に検知する誤動作検知回路を示す図は、図 5 と同様である。誤動作検知回路 102 は、フリップフロップ 106 におけるセットアップエラーを検知する。
ロジック回路 101 および誤動作検知回路 202 の正常動作時のタイミングチャートである図 20 は、誤動作検知回路 202 を駆動するクロック CK2 が、クロック CK1 をΔT2 だけ進ませたクロックであることを除いて、図 3 と同様である。
フリップフロップ 105 は、クロック CK1 の立ち上がりエッジに対する入力 Din2 のセットアップ時間 Tc - Td1 - Tdlogic と、フリップフロップ 105 のセットアップ時間制約Tsu2 との間の関係が以下の式 10 を満たすとき、入力 Din2 をクロック CK1 の適正な立ち上がりエッジで正常にトリガーすることができる。
Tc - Td1 - Tdlogic≧ Tsu2 (10)
フリップフロップ 106 は、クロック CK2 の立ち上がりエッジに対する入力 Din2 のセットアップ時間 (Tc - ΔT2) - Td1 - Tdlogic と、フリップフロップ 106 のセットアップ時間制約 Tsu3 との間の関係が以下の式 11 を満たすとき、入力 Din2 をクロック CK2の適正な立ち上がりエッジで正常にトリガーすることができる。
(Tc - ΔT2) - Td1 - Tdlogic≧ Tsu3 (11)
フリップフロップ 105 のセットアップ時間制約 Tsu2 とフリップフロップ 106 のセットアップ時間制約 Tsu3 との関係は、Tsu2 ≦ Tsu3 であるとする。
フリップフロップ 108 は、入力 Din4 に対して、クロック CK1 の反転クロックに同期した出力 Eout を出力する。例えば、図 20 に示すように、クロック CK1 の立ち下がりエッジで入力 Din4 が常に "L" であるので、出力 Eout は常に "L" となる。これが正常動作時の誤動作検知回路 202 の出力である。
次に、ロジック回路 101 およびセットアップエラーを事前に検知する誤動作検知回路202 の誤動作時のタイミングチャートである図 21 を参照しながら、セットアップエラー検知の原理を説明する。
組み合わせ回路 104 で温度が上昇することで、組み合わせ回路 104 の遅延時間 Tdlogicが増大しても、クロック CK1 の立ち上がりエッジに対する入力 Din2 のセットアップ時間 Tc - Td1 - Tdlogic と、フリップフロップ 105 のセットアップ時間制約 Tsu2 との間の関係が式 10 を満たす限り、フリップフロップ 105 は、の入力 Din2 をクロック CK1の適正な立ち上がりエッジで正常にトリガーすることができる。
フリップフロップ 106 においては、組み合わせ回路 104 の遅延時間 Tdlogic が増大し、クロック CK2 の立ち上がりエッジに対する入力 Din2 のホールド時間(Tc - ΔT2) - Td1 - Tdlogic と、フリップフロップ 106 のセットアップ時間制約 Tsu3との間の関係が以下の式 12 のようになると、フリップフロップ 106 は、入力 Din2 をクロック CK2 の適正な立ち上がりエッジで正常にトリガーすることができず、セットアップエラーが起こる。
(Tc - ΔT2) - Td1 - Tdlogic < Tsu3 (12)
このとき、例えば、図 21 に示すように、入力 Din2 は、クロック CK2 の 3 番目の立ち上がりエッジでトリガーされ、出力 Qout2 を出力する。
フリップフロップ 105 が正常動作し、フリップフロップ 106 がセットアップエラーによって誤動作した場合、図 21 に示すように、Ex-OR ゲート 107 は出力 Din4 を出力する。その結果、フリップフロップ 108 において、入力 Din4 はクロック CK1 の立ち上がりエッジ "H" となるため、の出力 Eout は "H" を出力する。このようにして、セットアップエラーによる誤動作を事前に検知することができる。
〔実施形態 6〕
《ホールドエラー検知》
本発明の実施形態 6 に係る半導体集積回路の誤動作検知回路で用いるホールドエラーを事前に検知する機能を有するフリップフロップの図は、図 12 と同様である。内部フリップフロップ 105 および 108 が、クロック CK により駆動し、内部フリップフロップ 106 が、クロック CK をバッファゲート群 501 によって ΔT1 時間遅らせたクロックにより駆動する点を除いて、図 12 のフリップフロップ 500 の正常動作時および誤動作時の動作は、実施形態 5 で説明した図 18 および図 19 のタイミングチャートと同様であり、正常動作時は、検知結果 E は常に "L" を出力し、誤動作時は "H" を出力する。従って、セットアップエラーによる誤動作を事前に検知することができる。
図 12 のフリップフロップ 500 において、内部フリップフロップ 106 のクロック入力を、フリップフロップ 500 の外部から供給するようにしたフリップフロップの図は、図 13と同様である。図 13 のフリップフロップ 600 の正常動作時および誤動作時の動作は、実施形態 5 で説明した図 18 および図 19 のタイミングチャートと同様であり、検知結果 Eは、正常動作時は常に "L" を出力し、誤動作時は "H" を出力する。従って、ホールドエラーによる誤動作を事前に検知することができる。
《セットアップエラー検知》
本発明の実施形態 6 に係る半導体集積回路の誤動作検知回路で用いるセットアップエラーを事前に検知する機能を有するフリップフロップの図は、図 14 と同様である。内部フリップフロップ 106 および 108 が、クロック CK およびその反転クロックによりそれぞれ駆動し、内部フリップフロップ 105 が、クロック CK をバッファゲート群 701によって ΔT1 時間遅らせたクロックにより駆動する点を除いて、図 14 のフリップフロップ 700 の正常動作時および誤動作時の動作は、実施形態 5 で説明した図 20 および図 21 のタイミングチャートと同様であり、正常動作時は、検知結果 E は常に "L" を出力し、誤動作時は "H" を出力する。従って、セットアップエラーによる誤動作を事前に検知することができる。
図 14 のフリップフロップ 700 において、内部フリップフロップ 105 のクロック入力を、フリップフロップ 700 の外部から供給するようにしたフリップフロップの図は、図 15と同様である。図 15 のセットアップエラーを検知する機能を有するフリップフロップの正常動作時および誤動作時の動作は、実施形態 5 で説明した図 20 および図 21 のタイミングチャートと同様であり、検知結果 E は、正常動作時は常に "L" を出力し、誤動作時は "H" を出力する。従って、セットアップエラーによる誤動作を事前に検知することができる。
図 12 から図 15 で示したフリップフロップは、実施形態 3 および 4 で説明した誤動作検知回路に適用できる。
このような構成により、半導体チップの外部または内部の温度変動による回路誤動作を事前に検知することができる。
〔実施形態 7〕
図 22 は、本発明の実施形態 7 に係る半導体集積回路の誤動作検知回路である。クロック CK に同期したフリップフロップ 901 および 902 と、NOT ゲート 907 の出力であるクロック CK の反転クロックに同期したフリップフロップ 903 と、バッファゲート群 904 および 905 と、Ex-OR ゲート 906 から構成される。誤動作検知回路は、フリップフロップ 902 におけるセットアップエラーまたはホールドエラーを検知する。
以下、図 22 の誤動作検知回路の正常動作時のタイミングチャートである図 23 を参照しながら、各回路構成要素について説明する。
フリップフロップ 901 は、入力 D にフリップフロップ 901 の出力 Qout1 を入力とするバッファゲート群 904 の 出力 Din1 が入力され、クロック CK に同期した出力Qout1 を出力する。例えば、図 23 に示すように、クロック CK が、周期 Tc の矩形波であるとき、フリップフロップ 901 の出力 Qout1 、および、バッファゲート群 904 の出力 Din1 は、周期 2 Tc の矩形波となる。ここで、フリップフロップ 901 のセル遅延をTd1 とする。また、バッファゲート群 904 は温度変動に対して十分な設計マージンをもつとする。
バッファゲート群 905 は、セットアップエラーを検知する場合には、フリップフロップ 902 のセットアップ時間が、すべてのフリップフロップの中でワーストになるように構成し、ホールドエラーを検知する場合には、フリップフロップ 902 のホールド時間がすべてのフリップフロップの中でワーストになるように構成する。バッファゲート群 905は、遅延時間 Tdbuf をもち、例えば、図 23 に示すように、入力 Qout1 に対して、出力 Din2 を出力する。
フリップフロップ 902 は、入力 Din2 に対して、クロック CK に同期した出力 Qout2を出力する。クロック CK の立ち上がりエッジに対する入力 Din2 のセットアップ時間 Tc - Td1 - Tdbuf と、フリップフロップ 902 のセットアップ時間制約 Tsu2 との間の関係が以下の式 13 を満たすとき、フリップフロップ 902 は、入力 Din2 をクロックCK の適正な立ち上がりエッジで正常にトリガーすることができる。
Tc - Td1 - Tdbuf ≧ Tsu2 (13)
また、クロック CK の立ち上がりエッジに対する入力 Din2 のホールド時間 Td1 + Tdbufと、フリップフロップ 902 のホールド時間制約 Thd2 との間の関係が以下の式 14 を満たすとき、フリップフロップ 902 は、入力 Din2 をクロック CK 適正なの立ち上がりエッジで正常に保持することができる。
Td1 + Tdbuf ≧ Thd2 (14)
Ex-OR ゲート 906 は、フリップフロップ 901 の出力 Qout1 とフリップフロップ 902の出力 Qout2 を入力として、例えば、図 23 に示すように、両入力の排他的論理和を演算した結果を出力 Din3 として出力する。ここで、Ex-OR ゲート 906 のセル遅延を Tdgとする。
フリップフロップ 903 は、入力 Din3 に対して、クロック CK の反転クロックに同期した出力 Eout を出力する。例えば、図 23 に示すように、クロック CK の立ち下がりエッジで入力 Din3 は常に "H" であるので、出力 Eout は常に "H" となる。これが、正常動作時の誤動作検知回路の出力である。
図 24 は、図 22 の誤動作検知回路のセットアップエラーが起こった場合のタイミングチャートである。バッファゲート群 905 で温度が上昇することによって、バッファゲート群 905 の遅延時間 Tdbuf が増大し、クロック CK の立ち上がりエッジに対する入力Din2 のセットアップ時間 Tc - Td1 - Tdbuf と、フリップフロップ 902 のセットアップ時間制約 Tsu2 との間の関係が以下の式 15 のようになると、フリップフロップ 902 は、入力 Din2 をクロック CK の適正な立ち上がりエッジで正常にトリガーすることができず、セットアップエラーが起こる。
Tc - Td1 - Tdbuf < Tsu2 (15)
このとき、例えば、図 24 に示すように、Ex-OR ゲート 906 の出力は Din3 のようになり、その結果、フリップフロップ 903 の出力 Eout は "L" を出力する。従って、セットアップエラーによる誤動作を事前に検知することができる。
図 25 は、図 22 の誤動作検知回路のセットアップエラーが起こった場合のタイミングチャートである。バッファゲート群 905 での温度が降下することによって、バッファゲート群 905 の遅延時間 Tdbuf が減少し、クロック CK の立ち上がりエッジに対する入力Din2 のホールド時間 Td1 + Tdbuf と、フリップフロップ 902 のホールド時間制約 Tsu2との間の関係が以下の式 16 のようになると、フリップフロップ 902 は、入力 Din2 をクロック CK の適正な立ち上がりエッジで正常に保持することができず、ホールドエラーが起こる。
Td1 + Tdbuf < Thd2 (16)
このとき、例えば、図 25 に示すように、Ex-OR ゲート 906 の出力は Din3 のようになり、その結果、フリップフロップ 903 の出力 Eout は "L" を出力する。従って、ホールドエラーによる誤動作を事前に検知することができる。
図 26 は、図 22 のフリップフロップ 902 のクロック入力を、個別に供給する誤動作検知回路である。図 26 は、クロック CK1 およびその反転クロックをそれぞれフリップフロップ 901、903 のクロックとし、クロック CK2 をフリップフロップ 902 のクロックとすることを除いて、図 22 と同様である。クロック CK1 およびクロック CK2 は、実施形態 1 の図 8 から図 10 で説明したクロック供給回路により供給される。図 26 において、CK1 には図 10 のクロック CKout1 を供給し、CK2 には図 10 のクロックCKout3 を供給することで、セットアップエラーを事前に検知することができる。図 26において、CK1 には図 10 のクロック CKout1 を供給し、CK2 には図 10 のクロック CKout2 を供給することで、ホールドエラーを事前に検知することができる。
図 26 の誤動作検知回路の正常動作時および誤動作時の動作は、図 23 から図 25 のタイミングチャートと同様であり、検知結果 E は、正常動作時は常に "H" を出力し、誤動作時は "L" を出力する。従って、セットアップエラーおよびホールドエラーによる誤動作を事前に検知することができる。
図 22 および図 26 の誤動作検知回路を用いて半導体チップの外部または内部の温度変動による回路誤動作を検知した場合の誤動作検知結果は、実施形態 1 の図 11 と同様である。
図 22 および図 26 の誤動作検知回路は、簡単なロジック回路で構成することができるため、容易に半導体チップの任意の箇所に複数個配置することができる。
このような構成により、半導体チップの外部または内部の温度変動による回路誤動作を事前に検知することができる。
〔実施形態 8〕
図 27 は、本発明の実施形態 8 に係る半導体集積回路の誤動作検知回路の概略図である。図 27 において、半導体集積回路 1201 は、図 16 の半導体集積回路 1001 と同様に、例として、3 つの機能ブロック 1002、1003、1004 の 機能から構成され、各機能ブロック 1002、1003、1004 において、機能ブロックを構成しているフリップフロップの中で、セットアップ時間がワーストであるフリップフロップを、それぞれ、フリップフロップ1005、1007、1009 とし、ホールド時間がワーストであるフリップフロップを、それぞれ、フリップフロップ 1006、1008、1010 とする。各機能ブロックのセットアップ時間およびホールド時間がワーストであるフリップフロップに入力される配線経路上の任意の場所に対して、実施形態 1 および 2 で説明した誤動作検知回路を配置する。
このような構成により、機能ブロックごとに最低 2 つの誤動作検知回路を配置するだけで、半導体チップの外部および内部の温度変動による回路誤動作を検知することができる。
〔実施形態 9〕
図 28 は、本発明の実施形態 9 に係る半導体集積回路の誤動作検知回路の概略図である。図 17 の半導体集積回路 1101 と同様に、半導体集積回路 1301 を構成しているフリップフロップの中で、セットアップ時間がワーストであるフリップフロップをフリップフロップ 1102 とし、ホールド時間がワーストであるフリップフロップをフリップフロップ 1103 とする。フリップフロップ 1102 およびフリップフロップ 1103 に入力される配線経路上の任意の場所に対して、実施形態 1 および 2 で説明した誤動作検知回路を配置する。
このような構成により、半導体集積回路全体に対して最低 2 つの誤動作検知回路を配置するだけで、半導体チップの外部および内部の温度変動による回路誤動作を検知することができる。
〔実施形態 10〕
図 29 は、本発明の実施形態 10 に係る半導体集積回路の誤動作検知回路のクロック調整回路であり、バッファゲート群 1401 および 1402 と、セレクタ回路 1403 および 1404から構成される。図 29 において、CKin は、図 8 に示したクロックツリー 301 の最終段のバッファゲート群 305 の各出力である。セレクタ回路 1403 においては、SEL1 によってバッファゲート群 1402 の各バッファゲートの出力を選択して CKout2 を出力する。ここで SEL1 は、バッファゲート群 1402 のすべての出力を選択できるビット幅を持つ。セレクタ回路 1404 においては、SEL2 によってバッファゲート群 1401 の各バッファゲートの出力を選択して CKout3 を出力するここで SEL2 は、バッファゲート群1401 のすべての出力を選択できるビット幅を持つ。
実施形態 1 から 9 で説明した誤動作検知回路において、図 29 のクロック調整回路を適用する。
このような構成により、半導体チップの外部および内部の温度変動による回路誤動作を検知することができる。
〔実施形態 11〕
図 30 は、本発明の実施形態 11 に係る半導体集積回路の誤動作検知回路をロジック回路に適用して、半導体チップの外部または内部の電源電圧変動による回路誤動作を検知した場合の誤動作検知結果を示した図である。
図 30 において、誤動作範囲 1 では、実施形態 1 から 10 で説明したセットアップエラーを検知する誤動作検知回路によりセットアップエラーを検知し、誤動作範囲 2 では、実施形態 1 から 10 で説明したホールドエラーを検知する誤動作検知回路によりホールドエラーを検知する。
図 30 に示すように、半導体チップの規定の範囲以外の電源電圧において、実施形態 1から 10 で説明した誤動作検知回路により回路誤動作を検知することができる。
このような構成により、半導体チップの外部および内部の電源電圧変動による回路誤動作を検知することができる。
〔実施形態 12〕
図 31 は、本発明の実施形態 12 に係る半導体集積回路の誤動作検知回路設計方法のフローチャートである。
工程 2001 において、ネットリストに従って論理セルをレイアウトし、工程 2002 において、レイアウトから論理セルおよび配線の遅延情報を抽出し、工程 2003 において、工程 2002 で抽出した遅延情報からロジック回路のタイミング制約条件を確認し、制約条件を満たさない場合は、工程 2001 に戻る。工程 2003 において、制約条件を満たしている場合は、工程 2004 において、n 個のフリップフロップをランダムに選択し、工程 2005において、工程 2004 で選択した n 個のフリップフロップのセットアップ時間およびホールド時間を基に誤動作検知回路を選択してネットリストに付加し、工程 2006 において、工程 2005 のネットリストに従って論理セルをレイアウトし、工程 2007 において、レイアウトから論理セルおよび配線の遅延情報を抽出し、工程 2008 において、工程 2007 で抽出した遅延情報からロジック回路のタイミング制約条件を確認し、制約条件を満たさない場合は、工程 2006 に戻り、制約条件を満たす場合は終了する。
このような構成により、誤動作検知回路を実現することができる。
〔実施形態 13〕
図 32 は、本発明の実施形態 13 に係る半導体集積回路の誤動作検知回路設計方法のフローチャートである。
工程 2101 において、ネットリストに従って論理セルをレイアウトし、工程 2102 において、レイアウトから論理セルおよび配線の遅延情報を抽出し、工程 2103 において、工程 2102 で抽出した遅延情報からロジック回路のタイミング制約条件を確認し、制約条件を満たさない場合は、工程 2101 に戻る。工程 2103 において、制約条件を満たしている場合は、工程 2104 において、機能ブロック毎にセットアップ時間およびホールド時間がワーストであるフリップフロップを検索し、工程 2105 において、工程 2104 で検索したフリップフロップのセットアップ時間およびホールド時間を基に、誤動作検知回路をネットリストに付加し、工程 2106 において、工程 2105 のネットリストに従って論理セルをレイアウトし、工程 2107 において、レイアウトから論理セルおよび配線の遅延情報を抽出し、工程 2108 において、工程 2107 で抽出した遅延情報からロジック回路のタイミング制約条件を確認し、制約条件を満たさない場合は、工程 2106 に戻り、制約条件を満たす場合は終了する。
このような構成により、誤動作検知回路を実現することができる。
〔実施形態 14〕
図 33 は、本発明の実施形態 14 に係る半導体集積回路の誤動作検知回路設計方法のフローチャートである。
工程 2201 において、ネットリストに従って論理セルをレイアウトし、工程 2202 において、レイアウトから論理セルおよび配線の遅延情報を抽出し、工程 2203 において、工程 2202 で抽出した遅延情報からロジック回路のタイミング制約条件を確認し、制約条件を満たさない場合は、工程 2201 に戻る。工程 2203 において、制約条件を満たしている場合は、工程 2204 において、すべてのフリップフロップの中で、セットアップ時間およびホールド時間がワーストであるフリップフロップを検索し、工程 2205 において、工程2204 で検索したフリップフロップのセットアップ時間およびホールド時間を基に、誤動作検知回路をネットリストに付加し、工程 2206 において、工程 2205 のネットリストに従って論理セルをレイアウトし、工程 2207 において、レイアウトから論理セルおよび配線の遅延情報を抽出し、工程 2208 において、工程 2207 で抽出した遅延情報からロジック回路のタイミング制約条件を確認し、制約条件を満たさない場合は、工程 2206 に戻り、制約条件を満たす場合は終了する。
このような構成により、誤動作検知回路を実現することができる。
本発明は、半導体集積回路の誤動作検知に適用することができる。簡単な回路構成により誤動作を検知することができるので、誤動作検知のために半導体チップのサイズを増大させる必要がなく、半導体チップの信頼性を向上させることができる。
本発明に係る誤動作検知回路を含む半導体集積回路の概略構成を示す図 本発明の実施形態 1 に係る半導体集積回路のセットアップエラーを検知する誤動作検知回路の回路構成を示す図 本発明の実施形態 1 における、ロジック回路およびセットアップエラーを検知する誤動作検知回路の正常動作時のタイミングチャート 本発明の実施形態 1 における、ロジック回路およびセットアップエラーを検知する誤動作検知回路の誤動作時のタイミングチャート 本発明の実施形態 1 に係る半導体集積回路のホールドエラーを検知する誤動作検知回路の回路構成を示す図 本発明の実施形態 1 における、ロジック回路およびホールドエラーを検知する誤動作検知回路の正常動作時のタイミングチャート 本発明の実施形態 1 における、ロジック回路およびホールドエラーを検知する誤動作検知回路の誤動作時のタイミングチャート クロック供給回路の回路構成を示す図 遅延調整回路の回路構成を示す図 遅延調整回路のタイミングチャート 半導体チップの外部または内部の温度変動による回路誤動作を検知した場合の誤動作検知結果を示す表 本発明の実施形態 2 に係る半導体集積回路の誤動作検知回路で用いるセットアップエラーを検知する機能を有するフリップフロップの回路構成を示す図 図 12 のフリップフロップ 500 において、内部フリップフロップ 106 のクロック入力を、フリップフロップ 500 の外部から供給するようにしたフリップフロップの回路構成を示す図 本発明の実施形態 2 に係る半導体集積回路の誤動作検知回路で用いるホールドエラーを検知する機能を有するフリップフロップの回路構成を示す図 図 14 のフリップフロップ 700 において、内部フリップフロップ 105 のクロック入力を、フリップフロップ 700 の外部から供給するようにしたフリップフロップの回路構成を示す図 本発明の実施形態 3 に係る半導体集積回路の誤動作検知回路の概略図 本発明の実施形態 4 に係る半導体集積回路の誤動作検知回路の概略図 本発明の実施形態 5 における、ロジック回路およびホールドエラーを事前に検知する誤動作検知回路の正常動作時のタイミングチャート 本発明の実施形態 5 における、ロジック回路およびホールドエラーを事前に検知する誤動作検知回路の誤動作時のタイミングチャート 本発明の実施形態 5 における、ロジック回路およびセットアップエラーを事前に検知する誤動作検知回路の正常動作時のタイミングチャート 本発明の実施形態 5 における、ロジック回路およびセットアップエラーを事前に検知する誤動作検知回路の誤動作時のタイミングチャート 本発明の実施形態 7 に係る半導体集積回路の誤動作検知回路の回路構成を示す図 本発明の実施形態 7 における、半導体集積回路の誤動作検知回路の正常動作時のタイミングチャート 本発明の実施形態 7 における、半導体集積回路の誤動作検知回路のセットアップエラーが起こった場合のタイミングチャート 本発明の実施形態 7 における、半導体集積回路の誤動作検知回路のホールドエラーが起こった場合のタイミングチャート 図 22 のフリップフロップ 902 のクロック入力を個別に供給する誤動作検知回路の回路構成を示す図 本発明の実施形態 3 に係る半導体集積回路の誤動作検知回路の概略図 本発明の実施形態 4 に係る半導体集積回路の誤動作検知回路の概略図 クロック調整回路の回路構成を示す図 半導体チップの外部または内部の電源電圧変動による回路誤動作を検知した場合の誤動作検知結果 本発明の実施形態 12 に係る半導体集積回路の誤動作検知回路設計方法のフローチャート 本発明の実施形態 13 に係る半導体集積回路の誤動作検知回路設計方法のフローチャート 本発明の実施形態 14 に係る半導体集積回路の誤動作検知回路設計方法のフローチャート

Claims (15)

  1. 被検知対象であるフリップフロップを回路内に含む集積回路であって、
    前記フリップフロップが、クロックパルス列における適正なクロックパルスのエッジでラッチ動作を行うか、当該エッジより遅れたあるいは進んだ不適正なクロックパルスのエッジでラッチ動作を行うかを検知する検知回路と、
    不適正なクロックパルスのエッジでラッチ動作を行う場合、誤動作対策を実行する実行手段と
    を備えることを特徴とする集積回路。
  2. 前記フリップフロップは、組み合わせ回路の後段に接続されており、
    前記適正なクロックパルスのエッジとは、クロックパルス列に含まれるクロックパルスのエッジのうち、組み合わせ回路の出力信号におけるセットアップまたはホールドの直後のクロックパルスのエッジであり、
    前記フリップフロップが、不適正なクロックパルスのエッジでラッチ動作を行うのは、セットアップまたはホールドが所定の時間制約を満たさない場合である
    ことを特徴とする請求項 1 記載の集積回路。
  3. 前記検知回路は、
    検知対象であるフリップフロップが同期しているクロックパルス列より位相が遅れたあるいは進んだクロックパルス列と同期しているフリップフロップを備え、
    前記セットアップまたはホールドが所定の時間制約を満たさないかどうかの検知は、
    検知対象であるフリップフロップの出力と、検知回路内のフリップフロップの出力との間の、論理演算を行うことでなされる
    ことを特徴とする請求項 2 記載の集積回路。
  4. 前記セットアップまたはホールドが所定の時間制約を満たさない場合は、
    集積回路の周囲あるいは内部の温度が規定の温度範囲を越える場合、もしくは、集積回路の外部あるいは内部の電源電圧が規定の電圧範囲を越える場合であり、
    前記検知回路は、集積回路内の組み合わせ回路のうち、セットアップまたはホールドが所定の時間制約を満たさない恐れのあるものの後段のフリップフロップに設けられている
    ことを特徴とする請求項 2 記載の集積回路。
  5. 前記集積回路はクロック供給回路を備え、
    クロック供給回路は、ツリー接続された複数のバッファゲートと、複数のバッファゲートのうち最終段にあるものの出力に対し遅延調整を施す遅延調整回路とを備え、
    前記組み合わせ回路が同期しているクロックは、最終段のバッファゲートの出力であり、
    前記検知回路内のフリップフロップによるラッチ動作は、遅延調整回路により遅延調整がなされた出力に基づく
    ことを特徴とする請求項 2 記載の集積回路。
  6. 前記検知回路におけるフリップフロップのセットアップ時間またはホールド時間に対する時間制約は、検知対象であるフリップフロップの時間制約よりも長い
    ことを特徴とする請求項 2 記載の集積回路。
  7. 前記検知回路は、
    機能ブロック内でセットアップ時間がワーストであるフリップフロップが存在する部位、または、機能ブロック内でホールド時間がワーストであるフリップフロップが存在する部位に配置される
    ことを特徴とする請求項 1 から 6 記載の集積回路。
  8. 前記検知回路は、
    集積回路全体でセットアップ時間がワーストであるフリップフロップが存在する部位、または、集積回路全体でホールド時間がワーストであるフリップフロップが存在する部位に配置される
    ことを特徴とする請求項 1 から 6 記載の集積回路。
  9. 前記検知回路は、検知対象であるフリップフロップに入出力される配線経路上の任意の場所に配置されている
    ことを特徴とする請求項 7 記載の集積回路。
  10. 前記検知回路は、検知対象であるフリップフロップに入出力される配線経路上の任意の場所に配置されている
    ことを特徴とする請求項 8 記載の集積回路。
  11. 前記実行手段は、プロセッサ、揮発メモリ、不揮発メモリを含み、
    前記誤動作対策は、プロセッサが揮発メモリに記憶しているデータを不揮発メモリに退避することでなされる
    請求項 1 記載の集積回路。
  12. 実装基板における論理セルのレイアウトをネットリストに従って決定し、基板上の配線を決定する設計方法であって、
    基板上の論理セルおよび配線からセル間の信号遅延を示す遅延情報を抽出し、当該信号遅延に基づき、論理セルのレイアウトを最適化する最適化ステップと、
    最適化されたレイアウトに位置した論理セル内のフリップフロップであって検知対象とすべきものを選択するステップと、
    選択されたフリップフロップの占有領域近辺に検知回路を配置し、選択されたフリップフロップと検知回路との接続関係を規定するようにネットリストを修正する修正ステップと、
    を含むことを特徴とする集積回路の設計方法。
  13. 前記フリップフロップ選択ステップは、
    集積回路上の組み合わせ回路の後段に接続されている複数のフリップフロップをランダムに選択する
    ことを特徴とする請求項 12 記載の集積回路の設計方法。
  14. 前記フリップフロップ選択ステップは、
    集積回路上の機能ブロックごとに、セットアップ時間がワーストであるフリップフロップ、および、ホールド時間がワーストであるフリップフロップを選択する
    ことを特徴とする請求項 12 記載の集積回路の設計方法。
  15. 前記フリップフロップ選択ステップは、
    集積回路上で、セットアップ時間がワーストであるフリップフロップ、および、ホールド時間がワーストであるフリップフロップを選択する
    ことを特徴とする請求項 12 記載の集積回路の設計方法。
JP2006202460A 2006-07-25 2006-07-25 誤動作検知回路を含む半導体集積回路とその設計方法 Pending JP2008028345A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006202460A JP2008028345A (ja) 2006-07-25 2006-07-25 誤動作検知回路を含む半導体集積回路とその設計方法
US11/878,520 US20080024173A1 (en) 2006-07-25 2007-07-25 Semiconductor integrated circuit including a malfunction detection circuit, and a design method for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006202460A JP2008028345A (ja) 2006-07-25 2006-07-25 誤動作検知回路を含む半導体集積回路とその設計方法

Publications (1)

Publication Number Publication Date
JP2008028345A true JP2008028345A (ja) 2008-02-07

Family

ID=38985528

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006202460A Pending JP2008028345A (ja) 2006-07-25 2006-07-25 誤動作検知回路を含む半導体集積回路とその設計方法

Country Status (2)

Country Link
US (1) US20080024173A1 (ja)
JP (1) JP2008028345A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012195751A (ja) * 2011-03-16 2012-10-11 Seiko Epson Corp 半導体集積回路

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7678137B2 (en) * 2004-01-13 2010-03-16 Life Spine, Inc. Pedicle screw constructs for spine fixation systems
JP4946588B2 (ja) * 2007-04-17 2012-06-06 富士通株式会社 検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法
US7917882B2 (en) * 2007-10-26 2011-03-29 Mips Technologies, Inc. Automated digital circuit design tool that reduces or eliminates adverse timing constraints due to an inherent clock signal skew, and applications thereof
US20100153896A1 (en) * 2008-12-12 2010-06-17 Lsi Corporation Real-time critical path margin violation detector, a method of monitoring a path and an ic incorporating the detector or method
US9005249B2 (en) 2011-07-11 2015-04-14 Life Spine, Inc. Spinal rod connector assembly
JP2014109453A (ja) * 2012-11-30 2014-06-12 Renesas Electronics Corp 半導体装置
US8819606B1 (en) * 2013-02-26 2014-08-26 Arris Enterprises, Inc. Designing integrated circuits for high thermal reliability
US9122891B2 (en) * 2013-08-12 2015-09-01 Microsoft Technology Licensing, Llc Functional timing sensors
CN113708744B (zh) * 2021-10-29 2022-02-08 湖南源科创新科技有限公司 一种基于fpga的同步数字信号相位检测方法及电路
CN114967807B (zh) * 2022-03-28 2023-06-06 清华大学 时序检测电路以及自适应电压调节电路

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6504410B2 (en) * 2000-05-11 2003-01-07 Goodrich Corporation Fault tolerant storage cell

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012195751A (ja) * 2011-03-16 2012-10-11 Seiko Epson Corp 半導体集積回路

Also Published As

Publication number Publication date
US20080024173A1 (en) 2008-01-31

Similar Documents

Publication Publication Date Title
JP2008028345A (ja) 誤動作検知回路を含む半導体集積回路とその設計方法
US10832787B2 (en) Methods for memory interface calibration
US7802216B2 (en) Area and power saving standard cell methodology
CN1969337B (zh) 操作集成电路器件的方法和系统
US8897083B1 (en) Memory interface circuitry with data strobe signal sharing capabilities
CN101192825A (zh) 半导体装置
US11121707B2 (en) Programmable clock skewing for timing closure
US9160336B2 (en) System and method for critical path replication
JP2008140821A (ja) 半導体装置および半導体装置の設計方法
US20010021953A1 (en) Data processing circuit
JP2005149313A (ja) 半導体集積回路の設計方法および半導体集積回路
Seo et al. Clock skew optimization for maximizing time margin by utilizing flexible flip-flop timing
JP2000091506A (ja) 半導体集積回路
EP3012976B1 (en) Timing control with body-bias
US7124314B2 (en) Method and apparatus for fine tuning clock signals of an integrated circuit
US10114914B2 (en) Layout effect characterization for integrated circuits
US9960771B2 (en) Hum generation using representative circuitry
KR100845784B1 (ko) 지연 고정 루프의 지연 장치
EP2113142A2 (en) Digital electronic device and method of altering clock delays in a digital electronic device
US7509603B2 (en) Semiconductor integrated circuit and design method thereof
US8687442B1 (en) Delay matching across semiconductor devices using input/output pads
CN1591697B (zh) 用于检查集成电路的信号输出的方法和装置
JP3908175B2 (ja) 半導体集積回路およびその評価回路
JP3860546B2 (ja) クロック制御回路
Seo et al. Post-silicon tuning based on flexible flip-flop timing