(57)【要約】（課題）ＬＳＩ回路全体の高速動作は確保しながら、ソフトエラー耐性が強化されている半導体回路装置及びその半導体回路装置の設計方法を実現するＣＡＤ装置を提供する。（解決手段）本発明のＣＡＤ装置は、ＬＳＩ回路の各信号伝達回路が有する信号伝達時間を特定する手段と、各信号伝達回路が有するフリップフロップ回路の放射線被爆時の出力反転率を特定する手段と、クリティカルパスとなる信号伝達回路を特定する手段と、信号伝達時間、出力反転率、クロック周期に基づいてＬＳＩ回路全体のソフトエラー率を計算する手段と、予め決められたソフトエラー率がＬＳＩ回路全体のソフトエラー率と比較して低い時は、クリティカルパスとなる信号伝達回路の信号伝達時間を変えないように、ＬＳＩ回路全体のソフトエラー率を低下する手段とを備えることを特徴とするため、上記の課題が解決される。 【選択図】  図１【特許請求の範囲】
【請求項１】
ＬＳＩ回路中の各信号伝達回路が信号を伝達する信号伝達時間を求める手段と、
前記信号伝達時間に基づいて、最長となる最長信号伝達時間を検出する手段と、
前記フリップフロップ回路の出力信号の論理が反転する出力反転率を、前記フリップフロップ回路のクリティカルノードが保持する電荷量に基づいて求める手段と、
前記信号伝達時間と、動作クロック周期と、前記フリップフロップ回路の前記出力反転率とに基づいてＬＳＩ回路のソフトエラー率を計算する手段と、
予め決められたソフトエラー率が前記ＬＳＩ回路のソフトエラー率と比較して小さい時は、前記最長信号伝達時間が変わらない範囲で、前記ＬＳＩ回路の変更を行う手段とを備えることを特徴とする、半導体回路装置の設計方法を実現するＣＡＤ装置。
【請求項２】
前記ＬＳＩ回路の変更を行う手段は
前記信号伝達回路を構成する遅延素子の変更を行うことにより、前記ＬＳＩ回路のソフトエラー率を小さくすることを特徴とする請求項１に記載されたＣＡＤ装置。
【請求項３】
前記信号伝達回路は、
第１フリップフロップ回路と、
第２フリップフロップ回路と、
前記第１フリップフロップ回路の出力端子と前記第２フリップフロップ回路の入力端子間に配置され、前記出力端子からの信号を遅延させて前記入力端子へ伝達する遅延素子であって、ダミー回路を含む前記遅延素子とを備え、
前記信号伝達回路を構成する前記遅延素子の変更は前記ダミー回路をインバータ回路へ変更することを特徴とする請求項２に記載されたＣＡＤ装置。
【請求項４】
前記信号伝達回路は、
第１フリップフロップ回路と、
第２フリップフロップ回路と、
前記第１フリップフロップ回路の出力端子と前記第２フリップフロップ回路の入力端子間に配置され、前記出力端子からの信号を遅延させて前記入力端子へ伝達する遅延素子であって、容量を含む前記遅延素子とを備え、
前記信号伝達回路を構成する前記遅延素子の変更は前記容量を増減することにより行うことを特徴とする請求項２に記載されたＣＡＤ装置。
【請求項５】
前記信号伝達回路は、
第１フリップフロップ回路と、
第２フリップフロップ回路と、
前記第１フリップフロップ回路の出力端子と前記第２フリップフロップ回路の入力端子間に配置され、前記出力端子からの信号を遅延させて前記入力端子へ伝達する遅延素子であって、抵抗を含む前記遅延素子とを備え、
前記信号伝達回路を構成する前記遅延素子の変更は前記抵抗を増減することにより行うことを特徴とする請求項２に記載されたＣＡＤ装置。
【請求項６】
前記ＬＳＩ回路の変更を行う手段は
前記フリップフロップ回路の前記出力反転率を小さくするように、前記フリップフロップ回路の変更を行うことを特徴とする請求項１に記載されたＣＡＤ装置。
【請求項７】
前記信号伝達回路は
マスターフリップフロップ及びスレイブフリップフロップを有する第１フリップフロップ回路と、
第２フリップフロップ回路と、
前記第１フリップフロップ回路の出力端子と前記第２フリップフロップ回路の入力端子間に配置され、前記出力端子からの信号を遅延させて前記入力端子へ伝達する遅延素子とを備え、
前記フリップフロップ回路の変更はマスターフリップフロップのクリティカルノードに容量を付加することを特徴とする請求項６に記載されたＣＡＤ装置。
【請求項８】
ＬＳＩ回路中の各信号伝達回路が信号を伝達する信号伝達時間を求める工程と、
前記信号伝達時間に基づいて、最長となる最長信号伝達回路を検出する工程と、
前記フリップフロップ回路の出力信号の論理が反転する出力反転率を、前記フリップフロップ回路のクリティカルノードが保持する電荷量に基づいて求める工程と、
前記信号伝達時間と、動作クロック周期と、前記フリップフロップ回路の前記出力反転率とに基づいてＬＳＩ回路のソフトエラー率を計算する工程と、
予め決められたソフトエラー率が前記ＬＳＩ回路のソフトエラー率と比較して小さい時は、前記最長信号伝達時間が変わらない範囲で、前記ＬＳＩ回路の変更を行う工程とを備えることを特徴とする半導体回路装置の設計方法。
【請求項９】
第１フリップフロップ回路と、
第２フリップフロップ回路と、
前記第１フリップフロップ回路の出力端子と前記第２フリップフロップ回路の入力端子間に配置され、ＬＳＩ回路においてクリティカルパスとして特定された信号伝達回路の遅延時間に等しい遅延時間となるように、前記出力端子からの信号を遅延させて前記入力端子へ伝達する遅延素子とを備える信号伝達回路。
【請求項１０】
マスターフリップフロップ及びスレイブフリップフロップとを有し、マスターフリップフロップのクリティカルノードに容量を付加した第１フリップフロップ回路と
第２フリップフロップ回路と、
前記第１フリップフロップ回路の出力端子と前記第２フリップフロップ回路の入力端子間に配置され、前記出力端子からの信号を遅延させて前記入力端子へ伝達する遅延素子とを備える信号伝達回路。
【請求項１１】
請求項９乃至請求項10に記載した信号伝達回路を備えることを特徴とする半導体回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はソフトエラー耐性を高めた信号伝達回路、その回路を含む半導体回路装置、ソフトエラー耐性を高めた半導体回路装置の設計方法、及び、その設計方法を実現するＣＡＤ装置に関する。
【背景技術】
【０００２】
ＬＳＩ(large scale integration)のパッケージや配線などに含まれる放射性同位元素が崩壊した時に発生するα線、宇宙線に由来する中性子線等によって、ＬＳＩの半導体回路内に電気的なノイズが発生し、半導体回路が誤動作することが知られている。上記の誤動作は半導体回路等のハードエウアの故障によるハードエラーに対して、ソフトエラーと呼ばれている。そして、記憶素子の電荷容量が小さいＤＲＡＭ（dynamic
random memory）やＳＲＡＭ(static random memory)では、古くからソフトエラー対策が検討されている。一方、ロジックＬＳＩでは、信号伝達回路に使用されるフリップフロップ回路の記憶ノードの電荷容量は大きいため、ソフトエラー対策について検討されることは少なかった。【０００３】
しかし、ＬＳＩの高集積化及び微細化が進み、信号伝達回路に使用されるフリップフロップ回路の記憶ノードの電荷容量は小さくなってきている。また、ＬＳＩの半導体回路が論理振幅の小さな信号を扱うようになってきた。そのため、最新の微細化技術で製造された高集積回路では、信頼性の指標であるソフトエラー率が1000FIT(1000FITは百万デバイス（個）×時間(Hour)内に故障が１回起きるという意味である)以上になることが明らかになってきている。上記のソフトエラー率の意味は、ＬＳＩを1000個出荷すると約1カ月以内に1回、いずれかのＬＳＩが誤動作することを意味する。【０００４】
そこで、ロジックＬＳＩ回路のソフトエラー耐性を強化する提案がされている。例えば、ロジックＬＳＩ回路で使用されているフリップフロップ回路に対して、以下の提案がされている。はじめに、半導体基板へのα線入射によりフリップフロップ回路のノードに収集される収集電荷量を算出し、フリップフロップ回路のノードの論理レベルが反転するのに必要な臨界電荷量を算出する。次に、収集電荷量が臨界電荷量より大きい場合に、ソフトエラーを阻止するために、フリップフロップ回路のノードに付加すべき容量を算出する。そして、そのフリップフロップ回路のノードに、その付加すべき容量を付加することが提案されている。（例えば、特許文献１）
【特許文献１】特開２０００−１９５２７４
【発明の開示】
【０００５】
（発明が解決しようとする課題）
信号伝達回路に使用されるフリップフロップ回路において論理レベルの反転を防止するため、上記のフリップフロップ回路に一律に容量を付加することは、すべての信号伝達回路の信号伝達に遅延をもたらす。従って、ロジックＬＳＩ回路全体が高速動作に対応できない結果となることがある。例えば、所定のクロック周波数を有するクロック信号下での動作が保証できないこともある。
一方、信号伝達回路の動作を考えた場合、論理レベルの反転がフリップフロップ回路で起きなければ、ソフトエラーとして認識されないことは明らかである。ところが、論理レベルの反転が起こった場合でも、論理レベルの反転が起こったフリップフロップ回路から、次のフリップフロップ回路に論理レベルの反転信号が伝わり、論理レベルの反転した信号がラッチされなければ、ソフトエラーとして認識されない。従って、ソフトエラー耐性を高めるために、信号伝達回路に使用されるフリップフロップ回路に一律に容量を付加するという手法以外にも考えられる。
また、論理レベルが反転した信号が次のフリップフロップ回路にラッチされた場合でも、複数の信号の論理間でパリティーをとることによりエラーチェックし、命令をリトライすることでソフトエラーを回避する方法がある。しかし、上記の方法では、ロジックＬＳＩ回路の性能は大幅に低下することになる。
そこで、本発明の目的は、ロジックＬＳＩ回路全体の高速動作は確保しながら、ソフトエラー耐性を強化することが可能な信号伝達回路、その信号伝達回路を含む半導体回路装置、半導体回路のソフトエラー耐性を強化する設計を行うＣＡＤ装置、及び、そのＣＡＤ装置によって半導体回路のソフトエラーを強化するプログラムが記録された記録媒体を提供することにある。
（課題を解決するための手段）
【０００６】
本発明のＣＡＤ装置は、ＬＳＩ回路中の各信号伝達回路が信号を伝達する信号伝達時間を求める手段と、前記信号伝達時間に基づいて、最長となる最長信号伝達時間を検出する手段と、前記各信号伝達回路を構成するフリップフロップ回路が放射線に被爆した時に、前記フリップフロップ回路の出力信号の論理が反転する出力反転率を、前記フリップフロップ回路のクリティカルノードが保持する電荷量に基づいて求める手段と、前記信号伝達時間と、動作クロック周期と、前記フリップフロップ回路の前記出力反転率とに基づいてＬＳＩ回路のソフトエラー率を計算する手段と、予め決められたソフトエラー率が前記ＬＳＩ回路のソフトエラー率と比較して小さい時は、前記最長信号伝達時間が変わらない範囲で、前記ＬＳＩ回路のソフトエラー率を小さくすべく、前記ＬＳＩ回路の変更を行う手段とを備えることを特徴とするため、上記の課題が解決される。
【０００７】
本発明の信号伝達回路は、
第１フリップフロップ回路と、
第２フリップフロップ回路と、
前記第１フリップフロップ回路の出力端子と前記第２フリップフロップ回路の入力端子間に配置され、ＬＳＩ回路においてクリティカルパスとして特定された信号伝達時間の遅延時間にほぼ等しい遅延時間となるように、前記出力端子からの信号を遅延させて前記入力端子へ伝達する遅延素子とを備えるため、上記の課題が解決される。
【０００８】
本発明の他の信号伝達回路は、
マスターフリップフロップ及びスレイブフリップフロップを有し、マスターフリップフロップのノードに容量を付加した第１フリップフロップ回路と
第２フリップフロップ回路と、
前記第１フリップフロップ回路の出力端子と前記第２フリップフロップ回路の入力端子間に配置され、前記出力端子からの信号を遅延させて前記入力端子へ伝達する遅延素子とを備えるため、上記の課題が解決される。
【０００９】
本発明の半導体回路装置は、前記信号伝達回路を備えることを特徴とするため、上記の課題が解決される。
【００１０】
(発明の効果)
本発明のＣＡＤ装置によれば、ソフトエラー率を計算するために必要な信号伝達回路の信号伝達時間、フリップフロップ回路の出力反転率を求め、クリティカルパスとなる信号伝達回路を特定する手段と、上記の信号伝達時間、出力反転率を使用してソフトエラー率を計算する手段と、予め決められたソフトエラー率に達しない場合には、クリティカルパスとなる信号伝達回路の信号伝達時間はかえないようにして、信号伝達回路の信号伝達時間及び信号伝達回路のフリップフロップ回路の出力反転率を修正する手段とを備えるため、ＬＳＩ回路全体の性能を決めているクリティカルパスとなる信号伝達回路の信号伝達時間は変えないため、ＬＳＩ回路全体の性能は低下させないＬＳＩ回路の設計方法を実現する。一方、信号伝達回路のソフトエラー耐性は信号伝達時間、出力反転率の修正により、強化されるため、ＬＳＩ回路全体としては、ソフトエラー耐性を強化するＬＳＩ回路の設計方法を実現する。
本発明の信号伝達回路によれば、信号伝達回路のフリップフロップ回路間の信号遅延時間を、クリティカルパスに使用されている信号伝達回路の信号遅延時間に合わせることにより、放射線等によるフリップフロップ回路からの反転信号が伝達されるまでの時間が延びるため、ソフトエラー耐性は強化され、一方、ＬＳＩ全体の性能はクリティカルパスに支配されている状況はかわらないため、ＬＳＩ回路全体の性能は低下しない。
【００１１】
本発明の他の信号伝達回路によれば、信号伝達回路のフリップフロップ回路のマスターフリップフロップ部分のみに容量付加することにより、フリップフロップ回路の出力が反転する確率が減少するため、ソフトエラー耐性を強化され、一方、容量の付加が少なくてよいためＬＳＩ全体の性能の低下は少ない。
【００１２】
本発明の半導体装置によれば、上記の信号伝達回路を半導体回路が含むため、ソフトエラー耐性が強化され、一方、ＬＳＩ全体の性能の低下は少ない。
【図面の簡単な説明】
【００１３】
【図１】図１はソフトエラー耐性を高めた半導体装置の設計方法のフローチャートを示す図である。
【図２】図２はクリティカルパスを検出する工程の詳細を説明する図である。
【図３】図３はソフトエラー率の計算工程の詳細及びソフトエラー率の判断をする工程を説明するための図である。
【図４】図４は、図３に引き続いて、ソフトエラー率の計算工程の詳細及びソフトエラー率の判断をする工程を説明するための図である。
【図５】図５は、信号伝達回路の修正、特に信号伝達回路の遅延素子の信号遅延時間Ｔｄを延ばす修正により、ＬＳＩ回路のソフトエラー率を低下させることを説明する図である。
【図６】図６は、フリップフロップの出力信号の論理がα線等により発生したノイズにより反転する仕組みを説明する図である。
【図７】図７は、通信伝達回路に含まれるフリップフロップの出力信号の論理がノイズ等により容易に反転しないようにする修正により、ＬＳＩ回路のソフトエラー率を低下させることを説明する図である。
【図８】図８は、信号伝達回路がインバータに変更可能なダミー回路を有することにより遅延時間Ｔｄを修正することができる信号伝達回路を示す図である。
【図９】図９は、容量又は抵抗を付加することにより、遅延時間Ｔｄを延長するように修正できる信号伝達回路を示す図である。
【図１０】図10は、駆動能力が小さいインバータを使用することにより、遅延時間Ｔｄを延長することができる信号伝達回路を示す図である。
【図１１】図11は、保持する信号の論理反転率が低いマスターフリップフロップを有する実施例３の信号伝達回路のフリップフロップを示す回路を示す図である。
【図１２】図12は、実施例４のＣＡＤ装置の構成を説明する図である。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施例１、実施例２、実施例３、及び、実施例４について説明する
（実施例１）【００１５】
実施例１はソフトエラー耐性を高めた半導体装置の設計方法に関する。図１、図２Ａ乃至図２Ｃ、図３Ａ乃至図３Ｃ、図４Ａ、図４Ｂ、図５Ａ乃至図５Ｃ、図６Ａ、図６Ｂ、及び、図７Ａ乃至図７Ｃを用いて、上記の半導体装置の設計方法について説明する。
図１はソフトエラー耐性を高めた半導体装置の設計方法のフローチャートを示す図である。また、図１は、クリティカルパスを検出する工程1a、信号遅延時間を求める工程1b、最長の信号遅延時間の検出工程1c、出力反転率を求める工程1d、ソフトエラー率の計算を行う工程２、ソフトエラー率が所定以下であることを判断する工程３、ソフトエラー率が低下するように、ＬＳＩ回路を修正する工程４を示す。
クリティカルパスを検出する工程1aは、概略、以下のような工程である。なお、詳細な実施例は、後に、図２を用いて説明する。はじめに、ＬＳＩ回路の殆どは論理素子等からなる組合せ回路とフリップフロップからなる順序回路から構成されている。そこで、ＬＳＩ回路全体の中、２つのフリップフロップ回路と、そのフリップフロップ間に配置されており、一方のフリップフロップの出力端子からの信号を他方のフリップフロップの入力端子へ信号を遅延させて伝達する遅延素子を含む回路を信号伝達回路と定義する。また、フリップフロップに信号が入力されてから、そのフリップフロップが出力端子から出力信号を出力するまでのゲート遅延時間と、上記の遅延素子によって出力信号が次のフリップフロップの入力端子へ信号が届くまでの転送時間との和を信号遅延時間Ｔｄと定義する。【００１６】
そこで、クリティカルパスを検出する工程1aでは、はじめに、信号伝達回路を認識し、上記の各信号伝達回路について、信号遅延時間(Ｔｄ)を求める工程1bを行う。次に、ＬＳＩ回路に供給されるクロック信号のクロック周期Ｔｃを考慮しつつ、各信号伝達回路の信号遅延時間Ｔｄを比較して、最長の信号遅延時間を検出する工程1cを行う。そうすると、クリティカルパスとなる、すなわち、最長の信号遅延時間を有する信号伝達回路が特定される。さらに、各信号伝達回路のフリップフロップに対して、ＬＳＩのパッケージや配線などに含まれる放射性同位元素が崩壊した時に発生するα線、宇宙線に由来する中性子線等によって、フリップフロップからの出力信号の論理が反転する出力反転率を求める工程1dを行う。【００１７】
ソフトエラー率の計算工程２は、概略、以下のような工程である。なお、詳細な実施例は、後に、図３、図４を用いて説明する。はじめに、一つの信号伝達回路について、１クロック周期Ｔｃ中のＴｆ時点でフリップフロップの出力信号の論理が反転し、信号伝達回路の信号遅時間はＴｄとする。また、α線等がフリップフロップを直撃した場合に、フリップフロップの出力信号の論理が反転する確率をＲとする。そうすると、Ｔｃ−ＴｆがＴｄ以下である場合に、一方のフリップフロップにおける出力信号の論理反転が他方のフリップフロップに伝達され、ソフトエラーとなる。従って、一つの信号伝達回路について、信号伝達回路にα線等が直撃してフリップフロップの出力信号が反転し、次のフリップフロップにラッチされてソフトエラーとなる確率Ｐは、１−Ｔｄ／Ｔｃとなる。クロック周期の終了時点Ｔｃから、Ｔｄ以前に出力信号の論理反転があった場合に、すなわち、期間Ｔｃ中のうち、Ｔｃ−Ｔｄの期間に出力信号の論理反転があった場合に、ソフトエラーとなるからである。また、フリップフロップの出力信号の論理が反転する確率Ｒを考慮した場合のソフトエラーとなる確率ＳはＲとＰ＝（１−Ｔｄ／Ｔｃ）の積となる。【００１８】
従って、ＬＳＩ回路全体に含まれるＮ個の信号伝達回路のソフトエラー確率がＳ1、Ｓ2、・・・ＳNであって、信号伝達回路のα線等の直撃確率が単純に１／Ｎである場合には、ＬＳＩ回路全体のソフトエラー確率は(Ｓ1＋Ｓ2＋・・＋ＳN)／Ｎとなる。また、フリップフロップの出力信号の論理が反転する確率Ｒは一定と仮定し、各信号伝達回路のフリップフロップの出力信号が反転し、次のフリップフロップにラッチされてソフトエラーとなる確率ＰがＰ1、Ｐ2、・・、ＰNである場合には、ＬＳＩ回路全体のソフトエラー確率はＲ×(Ｐ1＋Ｐ2＋・・＋ＰN)／Ｎとなる。
そこで、ソフトエラー率の計算工程２は、上記のＬＳＩ回路全体のソフトエラー確率を求める工程である。【００１９】
ソフトエラー率が所定以下であることを判断する工程３は、ソフトエラー率の計算工程２で計算したソフトエラー率が予め与えられたソフトエラー率の目標に達しているか否かを判断する工程である。なお、詳細な実施例は、後に、説明する。そして、ソフトエラー率の計算工程２で計算したソフトエラー率が目標に達していた場合には、ソフトエラー耐性を高めた半導体装置の設計を終了する。一方、ソフトエラー率の計算工程２で計算したソフトエラー率が目標に達していない場合には、ソフトエラー率が低下するように、ＬＳＩ回路を修正する工程４へ進む。【００２０】
ソフトエラー率が低下するように、ＬＳＩ回路を変更する工程４は、ソフトエラー率の計算工程２において、計算したソフトエラー率を低下させるように、ＬＳＩ回路に含まれる信号伝達回路、又は、信号伝達回路に含まれるフリップフロップ等を変更することによりＬＳＩ回路を変更する工程である。なお、詳細な実施例は、後に、図５、及び、図６を用いて説明する。【００２１】
図２Ａ、図２Ｂ、及び、図２Ｃはクリティカルパスを検出する工程の詳細を説明する図である。
図２Ａは信号伝達回路を示す図である。また、図２Ａはクロック信号線５、入力信号線６、フリップフロップ７、遅延素子８、フリップフロップ９、及び、出力信号線10を示す。そして、図２Ａの信号伝達回路はフリップヅロップ７、フリップフロップ９、及び、遅延素子８から構成されている。遅延素子８はフリップフロップ７の出力端子とフリップフロップ９の入力端子間に接続されている。また、遅延素子８はフリップフロップ７の出力端子からの信号をフリップフロップ９の入力端子へ伝える転送時間を可変とすることができる。フリップフロップ７は、入力信号線６からの入力信号を入力端子で受け、クロック信号線５からのクロック信号を受けて、入力信号をラッチし、出力端子から出力信号を出力する。フリップフロップ９は、フリップフロップ７と同様な動作をするが、遅延素子８からの信号を入力端子で受ける点では相違する。【００２２】
図２Ｂは上記のフリップフロップ７又はフリップフロップ９の詳細回路構造を示す図である。そして、図２Ｂはトランスファーゲート11、15、ノードＡ12、インバータ13、17、19、20a、ノードB14、ノードＣ16、ノードＤ18、及び、α線等を示す矢印20bを示す。そして、インバータ13とインバータ19はループ状態で接続され、マスターフリップフロップ回路を形成する。また、インバータ17とインバータ20aはループ状態で接続されており、スレイブフリップフロップ回路を形成する。トランスファーゲート11は入力信号をフリップフロップ７又はフリップフロップ９に取り込む回路である。また、トランスファーゲート15はマスターフリップフロップ回路からスレイブフリップフロップ回路へ信号を転送する回路である。ノードＡ12、ノードB14、ノードＣ16、及び、ノードＤ18は矢印20bで示すα線等が発生したときに、フリップフロップ７又はフリップフロップ９の出力信号の論理を反転させることができるノイズの発生場所であり、クリティカルノードという。【００２３】
図２ＣはＬＳＩ回路の概略を示す図である。そして、図２ＣはＬＳＩ回路21、バス配線22、遅延素子23、24、25、26、27、フリップフロップ回路28、29、30、31、クロックトリーを構成するクロックバッファ32、33、34、クロックバッファ32から発生するクロックＡ35、クロックバッファ33から発生しフリップフロップ29へ供給されるクロックB36、クロックバッファ33から発生しフリップフロップ30へ供給されるクロックC37、クロックバッファ34から発生するクロックD38、信号Ａ39、信号Ｂ40、信号Ｃ41、及び、信号D42を示す。【００２４】
ＬＳＩ回路21は、組合せ回路、及び、フリップフロップ等からなる順序回路から構成されおり、ＬＳＩ回路21の機能を実現するための機能回路ブロック、例えば、フリッフフロップ28を有する回路ブロック、フリップフロップ29を有する回路ブロック、フリップフロップ30を有する回路ブロック、フリップフロック31を有する回路ブロックを有している。そして、フリッフフロップ28はクロックバッファ32からのクロックＡ35を受けて信号Ａ39を出力する。信号Ａ39は遅延素子24、バス配線22、及び、遅延素子25を通じた後、信号B40として、フリップフロップ29の入力端子に伝達される。また、信号Ａ39は遅延素子23、バス配線22、及び、遅延素子26を介した後、信号Ｃ41として、フリップフロップ30の入力端子に伝達される。さらに、信号Ａ39は遅延素子23、バス配線22、及び、遅延素子27を介した後、信号D42として、フリップフロップ31の入力端子に伝達される。フリップフロップ29はクロックバッファ33からのクロックB36を受け、信号B40をラッチする。フリップフロップ30はクロックバッファ33からのクロックC37を受け、信号Ｃ41をラッチする。フリップフロップ31はクロックバッファ34からのクロックD38を受け、信号D42をラッチする。すなわち、上記の回路ブロック間の信号Ａ39、信号Ｂ40、信号Ｃ41、信号Ｄ42等の入出力をフリップフロップ29、30、31、32により制御することになるため、各回路ブロックの動作順序が決定される。【００２５】
そこで、「信号伝達回路を特定する」とは、図２ＣのＬＳＬ回路において、例えば、フリップフロップ28、及び、フリップフロップ29を、図２Ａを用いて説明した信号伝達回路のフリップフロップとして特定すること、及び、遅延素子24、バス配線22、遅延素子25を、図２Ａを用いて説明した信号伝達回路の遅延素子として特定することをいう。すなわち、信号伝達回路を特定する」とは、ＬＳＩ回路中の順序回路において、信号を出力するフリップフロップとその信号をラッチするフリップフロップとそのフリップフロップ間の遅延素子を特定することをいう。【００２６】
次に、「上記の各信号伝達回路について、信号遅延時間Ｔｄを求める工程」とは、例えば、フリップフロップ28、29、及び、遅延素子24、バス配線22、遅延素子25からなる遅延素子を有する信号伝達回路において、フリップフロップ28に信号が入力されてから、フリップフロップ28が出力信号を出力し、遅延素子を通じて、フリップフロップ29の入力端子に、フリップフロップ28の出力信号が到達するまでの時間を信号遅延時間Ｔｄとして求めることをいう。すなわち、信号伝達回路の一方のフリップフロップが信号を受けてから、他方のフリップフロップの出力端子に信号が伝達されるまでの時間を信号遅延時間Ｔｄとして求めることをいう。なお、具体的には、上記の信号遅延時間Ｔｄは、フリップフロップの駆動能力、配線抵抗、遅延素子の駆動能力から、周知の回路シミュレーションにより求めることができる。【００２７】
また、「ＬＳＩ回路に供給されるクロック信号のクロック周期Ｔｃを考慮しつつ、各信号伝達回路の信号遅延時間Ｔｄを比較して、最長の信号遅延時間を検出する工程」とは、各信号伝達回路の信号遅延時間Ｔｄを比較して、最長となる信号遅延時間Ｔｄを検出する工程をいう。そして、最長の信号遅延時間を有する信号伝達回路をクリティカルパスと特定する。ここで、「クロック信号のクロック周期Ｔｃを考慮しつつ」としたのは、最長の信号遅延時間Ｔｄと、フリップフロップのセットアップタイムと、フリップフロップのホールドタイムとの和がクロック周期Ｔｃを超えている場合は、その信号遅延時間Ｔｄを有する信号伝達回路はクリティカルパスとしないことを意味する。なぜなら、原則として、各信号伝達回路の信号遅延時間Ｔｄの内、クロック周期Ｔｃを超えるものがあった場合には、そのクロック信号を供給されたＬＳＩ回路がそのクロック周期では動作しないこととなるからである。そこで、クロック周期Ｔｃを超える信号遅延時間Ｔｄを有する信号伝達回路は、信号遅延時間ＴｄがＴｃ以下となるように修正されるからである。【００２８】
さらに、「各信号伝達回路のフリップフロップに対して、ＬＳＩのパッケージや配線などに含まれる放射性同位元素が崩壊した時に発生するα線、宇宙線に由来する中性子線等によって、フリップフロップからの出力信号の論理が反転する出力反転率を求める工程」とは、α線及び中性子線等の発生率、α線及び中性子線等により発生する電荷量の分布、及び、各信号伝達回路におけるフリップフロップのノードＡ12、ノードB14、ノードＣ16、及び、ノードＤ18等のクリティカルノードが有する電荷量に基づいてフリップフロップからの出力信号の論理が反転する出力反転率を求めることをいう。従って、α線及び中性子線等の発生率が低い程、出力反転率は低い。また、α線及び中性子線等により発生する電荷量の分布が小さな電荷量に偏っている場合は、出力反転率は低い。さらに、クリティカルノードが有する電荷量が多い程、出力反転率は低い。【００２９】
図３Ａ、図３Ｂ、図３Ｃ、図４Ａ、及び、図４Ｂはソフトエラー率の計算工程の詳細及びソフトエラー率の判断をする工程を説明するための図である。そして、図３Ａ、図３Ｂ、及び、図３Ｃは度数分布45、度数分布46、度数分布関数47、及び、ソフトエラーを起こす可能性がある信号伝達回路の数を示す度数分布中の領域48を示す。
図３Ａは、ＬＳＩ回路において、信号伝達回路の遅延時間Ｔｄを区分分けし、遅延時間Ｔｄの区分に対して信号伝達回路を分類し、遅延時間Ｔｄの区分と各遅延時間Ｔｄの区分に属する信号伝達回路の度数について作成した度数分布45を示す図である。そして、図３Ａの度数分布45の横軸は遅延時間Ｔｄの区分、縦軸は信号伝達回路の数を示す。図３Ａの度数分布45によれば、クロック周期Ｔｃの３／４程度の遅延時間Ｔｄの区分に属する信号伝達回路の度数が最大である。【００３０】
図３Ｂは、図３Ａの度数分布の横軸のパラメーターを（Ｔｃ−Ｔｄ）へ変換して、図３Ａの度数分布45に基づいて作成した度数分布46を示す図である。なお、縦軸は信号伝達回路の度数を表す。また、図３Ｂは、信号伝達回路の度数分布がパラメーター(Ｔｃ−Ｔｄ)に対して連続的であると仮定した場合の度数分布関数Ｄ(ｔ＝Ｔｃ−Ｔｄ)47を示す。図３Ｂの度数分布によれば、クロック周期Ｔｃの１／４程度の（Ｔｃ−Ｔｄ）の区分に属する信号伝達回路の度数が最大である。【００３１】
図３Ｃは、図３Ｂの度数分布関数Ｄ(ｔ＝Ｔｃ−Ｔｄ)47を表したグラフである。そして、図３Ｃのグラフの横軸はｔ＝Ｔｃ−Ｔｄを示し、また、縦軸は信号伝達回路の度数を表す。また、図３Ｃの斜線でハッチングした部分は、クロック信号のクロックエッジが信号伝達回路のフリップフロップに到達してからＴｆ時間後に、α線等によりノイズが発生して、一方のフリップフリップの出力信号の論理が反転した結果、他方のフリップフロップへ論理反転した出力信号が伝達され、ラッチされる可能性がある信号伝達回路の数を示す。【００３２】
図４Ａは、α線等によりノイズが発生した時刻をＴｆとした場合に、度数分布関数のＴｃ−Ｔｄ＞Ｔｆとなる領域に基づいて、ソフトエラーになる可能性がある信号伝達回路の数を求め、Ｔｆに対する関数、すなわち、関数Ｄ(t)をＴｆからＴｃまで積分したものをクロック周期Ｔｃ及びＬＳＩ回路に含まれる信号伝達回路の総数Ｎで除したものとして定義し、その関数をグラフに表した図である。なお、図４Ａの横軸はＴｃ−Ｔｄ、縦軸は確率を表す。そして、図４Ａは関数Ｄ(t)をＴｆからＴｃまで積分したものをＴｃ及びＮで除したものを示す折れ線49を示す。
図４Ｂは、クロック信号が"H"の状態である場合に、フリップフロップの出力信号の論理がα線等により発生したノイズにより反転する確率（以下、フリップフロップの出力信号の反転確率という）がＲ１であり、クロック信号が"Ｌ"の状態である場合に、フリップフロップの出力信号の反転確率がＲ２であることを示すグラフである。なお、図４Ｂのグラフの縦軸は数を示し、横軸は時間を示す。そして、図４Ｂはクロック信号50、クロック信号が"H"の状態におけるフリップフロップの出力信号の反転確率を示す折れ線51、クロック信号が"L"の状態におけるフリップフロップの出力信号の反転確率を示す折れ線52を示す。
なお、後に図６Ａ及び図６Ｂで説明するように、一般的には、反転確率Ｒ１が反転確率Ｒ２より大きい値をとる。【００３３】
そこで、ソフトエラー率の計算工程の詳細は以下のようにして行う。はじめに、同一の遅延時間Ｔｄを有する信号伝達回路が複数、ＬＳＩ回路内に存在し、その度数分布が図３Ａのグラフであったとする。そこで、ｔ＝Ｔｃ−Ｔｄとして定義し、図３Ａの度数分布に基づいて、パラメーターｔに対して図３Ｂの度数分布を作成する。そして、図３Ｂの度数分布から図３Ｃの度数分布関数Ｄ(t)を作成する。
次に、図３ＣのグラフのようにＴｃ−Ｔｄを有する通信伝達回路の度数を示す関数Ｄ（ｔ＝Ｔｃ−Ｔｄ）を用いて、時刻Ｔｆにα線等によるノイズが発生し、一方のフリップフロップの出力信号の論理が反転し、他方のフリップフロップにラッチされる可能性のある信号伝達回路（以下、反転信号がラッチされる可能性がある信号伝達回路という）の数を計算すると以下のように表される。
【数１】
2007034548.tif 000002
ここで、反転信号がラッチされる可能性がある信号伝達関数の数が、すなわち、ソフトエラーとなる可能性がある信号伝達回路の数が、上記の式により、表される理由は、Ｔｃ−Ｔｄ＞Ｔｆの場合、α線等によりノイズが発生すると、次のフリップフロップまでフリップフロップの出力信号の反転が伝達されるからである。一方、Ｔｃ−Ｔｄ＜Ｔｆの場合、フリップフロップの出力信号の反転が伝達されないからである。なお、上記の反転信号がラッチされる可能性がある信号伝達回路の数をクロック周期ＴｃとＬＳＩ全体の総数Ｎで除すると、図４Ａのグラフで示すように、一方の信号伝達回路のフリップフロップにおいて出力信号の論理が反転し、他方の信号伝達回路のフリップフロップがその出力信号をラッチする確率となる。【００３４】
次に、上記の反転信号がラッチされる可能性がある信号伝達回路の数に基づいて、クロック信号が"H"の状態である期間にα線等によりノイズが発生した場合であって、図４Ｂに示すようにフリップフロップの出力信号の反転確率がＲ１であった場合に、ＬＳＩ回路全体のソフトエラー率を求める。ここで、ＬＳＩ回路全体のソフトエラー率はＲ×(Ｐ1＋Ｐ2＋・・＋ＰN)／Ｎであるから、クロック信号が"H"の状態である期間にα線等によりノイズが発生した場合のソフトエラー率は以下の式で表される。
【数２】
2007034548.tif 000003
なお、上記の式で、ｔＨはクロック信号の論理が"Ｈ"である期間。ΔＴｆはα線等によりノイズが発生した時刻Ｔｆについての微小区間であり、この区間中にα線等によりノイズが発生してもソフトエラー率がほぼ同一であり、変化がないと思われる区間である。また、ΔＴｆはクロック周期をｎ等分した区間でもある。さらに、総和をとる処理、すなわち、サンメンション処理において、ｔＨ＞ｎΔＴｆとしたのは、ｔＨはクロック信号の論理が"Ｈ"である期間について、総和をとる処理をするという意味である。
一方、クロック信号が"Ｌ"の状態である期間にα線等によりノイズが発生した場合であって、図４Ｂに示すようにフリップフロップの出力信号の反転確率がＲ２であったとすると、ソフトエラー率は以下のように表される。  なお、総和をとる処理、すなわち、サンメンション処理において、ｎΔＴｆ＞ｔＨとしたのは、ｔＨはクロック信号の論理が"Ｈ"である期間を過ぎて、クロック信号が"Ｌ"の状態である期間について、総和をとる処理をするという意味である。
【数３】
2007034548.tif 000004
従って、クロック周期全期間におけるＬＳＩ回路全体のソフトエラー率ＳＳは以下のように計算される。
【数４】
2007034548.tif 000005
次に、ソフトエラー率が所定以下であることを判断する工程は、ＬＳＩ回路全体のソフトエラー率の計算工程で求めた上記のソフトエラー率ＳＳと、予め定められているＬＳＩ回路全体のソフトエラー率の設計値を比較する工程である。その結果、クロック周期全期間においてソフトエラー率ＳＳがソフトエラー率の設計値に達していないときは、ソフトエラー率を低下させるように、ＬＳＩ回路を修正する工程に進む。また、ソフトエラー率ＳＳがソフトエラー率の設計値に達しているときは、ＬＳＩ回路のソフトエラー耐性を高める設計を終了する。【００３５】
図５Ａ、図５Ｂ、図５Ｃ、図６Ａ、図６Ｂ、図６Ｃ、図７Ａ、図７Ｂ、及び、図７Ｃは、ＬＳＩソフト回路全体のエラー率が低下するように、ＬＳＩ回路を変更する工程を説明する図である。ここで、ＬＳＩ回路の変更とは、例えば、ＬＳＩ回路に含まれる通信伝達回路の遅延素子の信号遅延時間を延ばすように回路変更をすること、又は、通信伝達回路に含まれるフリップフロップの出力信号の論理がノイズ等により容易に反転しないようにするフリップフロップの回路変更をいう。【００３６】
図５Ａ、図５Ｂ、及び、図５Ｃは、信号伝達回路の変更、特に信号伝達回路の遅延素子の信号遅延時間Ｔｄを延ばす変更により、ＬＳＩ回路のソフトエラー率を低下させることを説明する図である。そして、図５Ａ、図５Ｂ、及び、図５Ｃは、度数分布55、度数分布関数Ｄ(ｔ)56、度数分布関数56に基づいて求めたソフトエラーを起こす可能性がある信号伝達回路の数を示す領域57、α線等によるノイズ発生時刻Ｔｆにおける、ソフトエラーとなる修正前の信号伝達回路の数を信号伝達回路の総数Ｎで除したものを表す関数、すなわち、図３Ｃの度数分布関数Ｄ(ｔ)をＴｆからＴｃまで積分して得られるものを信号伝達回路の総数で除した結果を表す関数58、及び、α線等によるノイズ発生時刻Ｔｆにおける、ソフトエラーとなる修正後の信号伝達回路の数を信号伝達関数の総数で除した結果を表す関数、すなわち、度数分布関数Ｄ(ｔ)56をＴｆからＴｃまで積分して得られる関数を信号伝達関数の総数で除した結果を表す関数59を示す。
図５Ａは図３Ｂと同様なグラフであるが、フリップフロップ間の遅延時間Ｔｄを延ばす変更をした信号伝達回路について信号伝達回路の度数分布を示した点では異なるグラフである。
図５Ｂは図３Ｃと同様なグラフであるが、時間Ｔｆにおいてα線等によるノイズが発生したときにソフトエラーとなる、修正後の信号伝達回路の数を表す領域を示す点で異なるグラフである。
図５Ｃは、α線等によるノイズ発生時刻Ｔｆにおける、ソフトエラーとなる信号伝達回路の数を信号伝達関数の総数で除したものを表す関数を信号伝達回路の変更の前後について示すグラフである。すなわち、図５Ｃは、信号伝達関数の一方のフリップフロップの出力信号の論理が、α線等によるノイズの発生により反転した場合に、他方のフリップフロップがその反転論理信号をラッチすることに起因するＬＳＩ回路全体のソフトエラー率（以下、「反転信号の伝達によるソフトエラー率」という）を、信号伝達回路の変更の前後について示すグラフである。
そこで、信号伝達回路の遅延素子の信号遅延時間Ｔｄを延ばす変更とは、各信号伝達回路の遅延素子を追加、変更することにより、信号遅延時間Ｔｄを延ばす変更を行なうことをいう。ただし、その信号遅延時間Ｔｄの延長はクリティカルパスとして特定された信号伝達回路の信号遅延時間Ｔｄ以内、ずなわち、最長の信号伝達時間以内であることはいうまでもない。ＬＳＩ回路全体の性能が落ちることになるからである。
すなわち、ＬＳＩ回路全体でみた場合に、図５Ａに示すように（Ｔｃ−Ｔｄ）に対する、信号伝達回路の度数分布をＴｃ−Ｔｄが短くなる領域の信号伝達回路の度数を増加させるように変更することをいう。その結果、図５Ｂの時間Ｔｆにおいてα線等によるノイズが発生したときにソフトエラーとなる修正後の信号伝達回路の数を表す領域の面積は、図３Ｃの信号伝達回路の数を示す領域の面積より減少する。従って、ソフトエラーを起こす信号伝達回路の数が減少するため、図５Ｃに示すようにＬＳＩ回路全体のソフトエラー率は減少する。【００３７】
図６Ａは、クロック信号が"H"の状態である場合に、フリップフロップの出力信号の論理がα線等により発生したノイズにより反転する仕組みを説明する図である。また、図６Ｂは、クロック信号が"Ｌ"の状態である場合に、フリップフロップの出力信号の論理がα線等により発生したノイズにより反転する仕組みを説明する図である。そして、図６Ａ、及び、図６Ｂは、トランスファーゲート72、73、インバータ67、68、69、70、71、クロック信号66、入力端子60、出力端子61、信号の流れを示す矢印62、63、64、65を示す。なお、図４Ｂのフリップフロップと図４Ｃのフリップフロップは同様な構成であるため、トランスファー及びインバータ等について同様の番号を付した。【００３８】
図６Ａによれば、クロック信号59の論理が"H"であるときには、インバータ67により論理"Ｌ"がゲートに伝わるトランスファーゲート72は閉じており、入力端子60から矢印62で示す信号は受け付けない。しかし、トランスファーゲート73は開いており、インバータ68とインバータ69で構成されるマスターフリップフロップからの矢印63で示す信号は、インバータ70とインバータ71で構成されるスレイブフリップフロップへ伝わり、さらに、出力端子61へも伝わる。
一方、図６Ｂによれば、クロック信号66の論理が"Ｌ"であるときには、インバータ67により論理"Ｈ"がゲートに伝わるトランスファーゲート72は開いており、入力端子60から矢印64で示す信号を受け付ける。そして、トランスファーゲート73は閉じており、インバータ68とインバータ69で構成されるマスターフリップフロップからの矢印64で示す信号は、インバータ70とインバータ71で構成されるスレイブフリップフロップへは伝わらない。しかし、上記のスレイブフリップフロップから矢印65で示す信号は出力端子61へ伝わる。
従って、以上より、図６Ａ及び図６Ｂで示すフリップフロップにおいて、クロック信号の論理が"H"であるときのソフトエラー率Ｒ１は、マスターフリップフロップの出力信号の論理反転が出力端子にそのまま伝わるため、マスターフリップフロップのソフトエラー率にほぼ等しい。一方、クロック信号の論理が"Ｌ"であるときのソフトエラー率Ｒ２は、スレイブフリップフロップの出力信号の論理反転が出力端子にそのまま伝わるため、スレイブフリップフロップのソフトエラー率にほぼ等しい。
ここで、一般的に、マスターフリップフロップを構成するインバータはスレイブフリップフロップを駆動するだけでよいため、ファンアウトが小さい素子が使われている。そうすると、図２Ｂで説明したマスターフリップフロップのクリティカルノードに蓄積される電荷が、スレイブフリップフロップのクリティカルノードに蓄積される電荷より小さい。従って、α線等によってノイズが発生した場合に、マスターフリップフロップの出力信号が反転する確率は、スレイブフリップフロップの出力信号が反転する確率より大きい。
そうすると、クロック信号の論理が"H"であるときのソフトエラー率Ｒ１はクロック信号の論理が"Ｌ"であるときのＲ２より大きな値となる。【００３９】
図７Ａ、図７Ｂ、及び、図７Ｃは、通信伝達回路に含まれるフリップフロップの出力信号の論理がノイズ等により容易に反転しないようにする修正により、ＬＳＩ回路のソフトエラー率を低下させることを説明する図である。
そして、図７Ａ、図７Ｂ及び図７Ｃは「反転信号の伝達によるソフトエラー率」を示す関数76、クロック信号77、クロック信号77の論理が”Ｈ”である期間中における回路変更後のフリップフロップの出力信号の論理が反転する確率80、クロック信号77の論理が”Ｌ”である期間中における回路変更後のフリップフロップの出力信号の論理が反転する確率81、クロック信号線82、インバータ83、86、87、88、89、トランスファーゲート84、85、及び、容量78を示す。【００４０】
図７Ａは、「反転信号の伝達によるソフトエラー率」を示す関数76を示すグラフである。図７Ｂはクロック周期中においてクロック信号77の論理が”Ｈ”であるときには、α線等により発生するノイズによりフリップフロップの出力信号が反転する確率はＲ３であり、クロック周期中においてクロック信号77の論理が”Ｌ”であるときには、α線等により発生するノイズによりフリップフロップの出力信号が反転する確率はＲ２であることを示す。ここで、確率Ｒ３は確率Ｒ２より小さい。図７Ｃはフリップスロップの概略を示す図である。そして、図７Ｃのフリップフロップはマスターフリップフロップを構成するインバータ86、87、スレイブフリップフロップを構成するインバータ88、89、入力信号線とマスターフリップスロップ間にあるトランスファーゲート84、マスターフリップフロップとスレイブフリップフロップ間にあるトランスファートランジスタ85、トランスファーゲート85のゲートに直接接続し、かつ、トランスファーゲート84のゲートにインバータ84を介して接続するクロック線82、マスターフリップフロップのクリティカルノードに接続する容量78から構成されている。【００４１】
そこで、通信伝達回路に含まれるフリップフロップの出力信号の論理がノイズ等により容易に反転しないようにする回路変更とは、図７Ｃのようにマスターフリップフロップのクリティカルノードに容量90等を接続して、クリティカルノードが保持する信号論理を反転する論理反転率を低下させることをいう。その結果、図７Ｂに示すように、クロック信号77の論理が”Ｈ”であるときには、α線等により発生するノイズによりフリップフロップの出力信号が反転する確率は、図４Ｂの確率Ｒ１からＲ３へ減少する。さらに、確率Ｒ１を確率Ｒ２よりも低い値とすることもできる。そうすると、図７Ａに示すように、クロック信号77の論理が”Ｈ”である期間中において、クロック信号77の論理が”Ｈ”である期間「反転信号の伝達によるソフトエラー率」は高いので、フリップフロップの出力信号が反転する確率を低くすることが、ＬＳＩ回路全体のソフトエラー率を減少させる上で、非常に大きい効果を奏する。
また、マスターフリップフロップのクリティカルノードに容量78等を接続して、クリティカルノードが保持する信号の論理を反転しにくくする手法をとると、スレイブフリップフロップから出力される信号の伝達を遅らせることがない効果がある。
実施例１のソフトエラー耐性を高めた半導体装置の設計方法はクリティカルパスを検出する工程、ソフトエラー率の計算を行う工程、ソフトエラー率が所定以下であることを判断する工程、ソフトエラー率が低下するように、ＬＳＩ回路を変更する工程を有する。すなわち、実施例１のソフトエラー耐性を高めた半導体装置の設計方法は各信号伝達回路が有するフリップフロップ回路間を信号が伝達する信号伝達時間、各信号伝達回路が有する前記フリップフロップ回路の放射線被爆時の出力反転率、及び、クリティカルパスとなる信号伝達回路を特定する工程と、各信号伝達回路の前記信号伝達時間及び前記フリップフロップ回路の前記出力反転率、クロック周期に基づいてＬＳＩ回路全体のソフトエラー率を計算する工程と、予め決められたソフトエラー率が前記ＬＳＩ回路全体のソフトエラー率と比較して小さい時は、前記クリティカルパスとなる信号伝達回路の前記信号伝達時間を変えないように、前記信号伝達時間を延長し及び前記フリップフロップ回路の前記出力反転率さげるように回路変更をする工程とを備える。
従って、実施例１のソフトエラー耐性を高めた半導体装置の設計方法によれば、ＬＳＩ回路全体の性能を決めているクリティカルパスとなる信号伝達回路の信号伝達時間は変えないため、ＬＳＩ回路全体の性能は低下しない。一方、信号伝達回路のソフトエラー耐性は信号伝達時間が延長され、出力反転率が小さくなることにより、強化されるため、ＬＳＩ回路全体としては、ソフトエラー耐性が強化される効果がある。
また、実施例１のソフトエラー耐性を高めた半導体装置の設計方法を用いて、図２ＣのＬＳＩ回路を設計すれば、ソフトエラー耐性が高い半導体装置をえることができる。【００４２】
（実施例２）
実施例２は、一方のフリップフロップから他方のフリップフロップへの信号伝達の遅延時間を調整する機構を有する信号伝達回路に関するものであり、その機構を使用して、クリティカルパスと特定された信号伝達回路と同等の長さの遅延時間Ｔｄを有するように修正された信号伝達回路を示す例である。そして、図８Ａ乃至図８Ｄ、図９Ａ乃至図９Ｄ、図10Ａ、及び、図10Ｂを用いて、実施例２の信号伝達回路を説明する。そして、図８Ａ乃至図８Ｄ、図９Ａ乃至図９Ｄ、図10Ａ、及び、図10Ｂは、フリップフロップ90、インバータ91、容量92、容量93、抵抗94、フリップフロップの回路パターン95、インバータの回路パターン96、ダミー回路パターン97、容量パターン99、容量パターン100、抵抗パターン101、配線パターン102、ウエルパターン103、フィールド領域パターン104、ゲート電極パターン105、駆動能力が小さいインバータ106を示す。【００４３】
図８Ａ乃至図８Ｄは、信号伝達回路がインバータに変更可能なダミー回路を有することにより遅延時間Ｔｄを修正することができる信号伝達回路を示す図である。
図８Ａは修正を行う前の信号伝達回路を示す図である。そして、図８Ａの信号伝達回路は、信号を出力するフリップフロップ90、4つのインバータ91、及び、信号を受けるフリップフロップ90から構成されている。また、図８Ａの信号伝達回路おいて、一方のフリップフロップ90から出力された信号が他方のフリップフロップ90に伝達されるための遅延時間Ｔｄは一方のフリップフロップ90から信号が出力されるまでの遅延時間と信号がインバータ91を介して伝達される伝達時間とから構成される。なお、図８Ａの信号伝達回路の遅延時間Ｔｄは、ＬＳＩ回路においてクリティカルパスと特定された信号伝達回路の遅延時間Ｔｄに比べて小さい。
図８Ｂは、図８Ａの信号伝達回路に対応する回路レイアウトを示す図である。また、図８Ｂの回路レイアウトは、２つのフリップフロップの回路パターン95、４つのインバータの回路レイアウトパターン96、ダミー回路パターン97から構成されている。回路パターン95、96、及び、ダミー回路パターン97はＭＯＳトランジスタを構成するフィールド領域パターン104、ＭＯＳトランジスタを構成するゲート電極パターン105、Ｐ型ＭＯＳトランジスタが形成されるＮ型ウエル領域を確定するウエルパターン103、及び、ＭＯＳトランジスタ間を接続又はＭＯＳトランジスタに電源を供給する配線を示す配線パターン102から構成されている。ダミー回路パターン97は配線パターン102の形状を変更することにより、２つ分のインバータ回路パターン96に変更が可能な回路パターンである。なお、ダミー回路パターン97は図８Ｂでは、２つ分のインバータ回路パターン96に変更可能としたが、さらに、多くのインバータ回路パターン96に変更可能とするように形成することができることはいうまでもない。【００４４】
図８Ｃは、修正を行った後の信号伝達回路を示す図である。そして、図８Ｃの信号伝達回路は、図８Ａの信号伝達回路と同様なものであるが、インバータ回路91の数が２つ多い点では異なる。また、図８Ｃの信号伝達回路の遅延時間Ｔｄは、２つのインバータ回路91の作用により、クリティカルパスと特定された信号伝達回路の遅延時間Ｔｄと同様な長さである。
図８Ｄは、図８Ｃの信号伝達回路に対する回路レイアウトを示す図である。また、図８Ｄの回路レイアウトは図８Ｂの回路レイアウトと同様なものであるが、ダミー回路パターン97の配線パターン102の形状を変更して、２つのインバータの回路レイアウトパターン96へ変更した点で異なる。なお、上記では２つのインバータの回路レイアウトパターン96を形成したが、ダミー回路レイアウトパターン97の配線パターン102の変更をその一部に留めて、1つのインバータの回路レイアウト96の形成のみに留めることもできる。【００４５】
図９Ａ乃至図９Ｄは、容量又は抵抗を付加することにより、遅延時間Ｔｄを延長するように修正できる信号伝達回路を示す図である。
図９Ａは、容量を付加することにより、遅延時間Ｔｄを延長した信号伝達回路を示す図である。そして、図９Ａの信号伝達回路は、図８Ａの信号伝達回路と同様なものであるが、電圧レベルの高い電源(Ｖｃｃ)と信号伝達回路の信号線との間の容量92、及び、電源レベルの低い電源(Ｖｓｓ：グランド電源)と信号伝達回路の信号線との間の容量93が付加されている点で異なる。また、図９Ａの信号伝達回路の遅延時間Ｔｄは、容量92及び容量93の作用により、クリティカルパスと特定された信号伝達回路の遅延時間Ｔｄと同様な長さである。
図９Ｂは、図９Ａの信号伝達回路に対する回路レイアウトを示す図である。また、図９Ａの回路レイアウトは図８Ｂの回路レイアウトと同様なものであるが、ダミー回路パターン97に代えて、容量92に対応する容量パターン99及び容量93 に対応する容量パターン100が配置されている点で異なる。ここで、容量パターン99及び容量パターン100はフィールド領域パターン104及びゲート電極パターン105とで構成されている。なお、図９Ｂにおいて、容量パターン99及び容量パターン100のフィールド電極パターン104又はゲート電極パターン105はそれぞれ、１つのパターンで形成されているが、複数の分割されたパターンで形成することも可能である。【００４６】
図９Ｃは、抵抗を付加することにより、遅延時間Ｔｄを延長した信号伝達回路を示す図である。そして、図９Ｃの信号伝達回路は、図８Ａの信号伝達回路と同様なものであるが、信号伝達回路の信号線に、インバータ回路91と直列に抵抗94が付加されている点で異なる。また、図９Cの信号伝達回路の遅延時間Ｔｄは、抵抗94の作用により、クリティカルパスと特定された信号伝達回路の遅延時間Ｔｄと同様な長さである。
図９Ｄは、図９Ｂの信号伝達回路に対する回路レイアウトを示す図である。また、図９Ｄの回路レイアウトは図８Ｂの回路レイアウトと同様なものであるが、ダミー回路パターン97に代えて抵抗94に対応する抵抗パターン101が配置されている点で異なる。ここで、抵抗パターン101はゲート電極パターン105で構成されている。なお、抵抗パターン101は複数の分割されたパターンで形成することも可能である。また、上記の分割されたパターンの一部を使用しないことにより、抵抗値を調整することも可能である。【００４７】
図10Ａ及び図10Ｂは駆動能力が小さいインバータを使用することにより、遅延時間Ｔｄを延長することができる信号伝達回路を示す図である。
図10Ａは、駆動能力が小さいインバータ106を使用することにより、遅延時間Ｔｄを延長した信号伝達回路を示す図である。そして、図10Ａの信号回路は、図８Ａの信号伝達回路と同様なものであるが、遅延素子を構成するインバータ91の内、最初の部分を、駆動能力が小さなインバータ106に置き換えている点で異なる。また、図10Ａの信号伝達回路の遅延時間Ｔｄは、駆動能力が小さなインバータ106の作用により、クリティカルパスと特定された信号伝達回路の遅延時間Ｔｄと同様な長さである。
図10Ｂは、遅延素子の一部について駆動能力が小さいインバータ106で構成されていることを示す回路である。また、図10Ｂは、駆動能力が小さいインバータ106とインバータ91が直列に接続しているところを示す。ここで、インバータ91は、例えば、フィールド領域パターン104の幅が2.0μmである、P型ＭＯＳトランジスタとＮ型ＭＯＳトランジスタとから構成されている。また、駆動能力が小さなインバータ106は、例えば、フィールド領域パターン104の幅が0.5μmのＰ型ＭＯＳトランジスタと、フィールド領域パターン104の幅が0.2μmのＮ型ＭＯＳトランジスタとから構成されている。なお、駆動能力が小さなインバータ106は信号を駆動する能力が低いため、1個あたりの駆動能力が小さなインバータ106の遅延時間が長い。【００４８】
実施例２の信号伝達回路は、出力信号を出力端子から出力する出力側フリップフロップと、そのフリップフロップからの信号を入力端子で受け取り、クロック信号でラッチする受取側フリップフロップと、出力側フリップフロップと受取側フリップフロップとの間に、信号伝達回路の遅延時間Ｔｄを、クリティカルパスとして特定された信号伝達回路の遅延時間Ｔｄと同様なものとする遅延素子を有することを特徴とする。
従って、実施例２の信号伝達回路は、ソフトエラー率が低く、かつ、ＬＳＩ回路全体の性能の低下を招かない効果を有する。実施例２の信号伝達回路の遅延時間Ｔｄはクリティカルパスと特定された信号伝達回路の遅延時間Ｔｄと同様なため、α線等により発生したノイズが出力側フリップフロップの出力信号の論理反転を起こした場合に、受取側のフリップフロップにその論値反転信号が到達する可能性が低いからである。一方、実施例２の信号伝達回路の遅延時間Ｔｄがクリティカルパスと特定された信号伝達回路の遅延時間Ｔｄを超えていないため、ＬＳＩ回路全体の性能を落とすことがないからである。【００４９】
（実施例３）
実施例３は、α線等によるノイズが発生した場合に、信号伝達回路においてフリップフロップのマスターフリップ回路を、保持する信号の論理反転率が低い回路に、修正した例である。そして、図11を用いて、実施例３を説明する。
図11は、保持する信号の論理反転率が低いマスターフリップフロップを有する実施例３の信号伝達回路のフリップフロップを示す回路を示す図である。そして、図11はクロック信号110、入力信号111、インバータ112、トランスファートランジスタ113、電圧が高い電源(Ｖｃｃ)114、Ｐ型トランジスタ115、116、電圧が低い電源(Ｖｓｓ)117、Ｎ型トランジスタ118、119、インバータ120、121、トランスファーゲートトランジスタ122、インバータ123、124、及び、出力信号125を示す。【００５０】
インバータ120及び121はマスターフリップフロップを構成する。インバータ123及びインバータ124はスレイブフリップフロップを構成する。入力信号111はトランスファーゲート113がオンしたときに、マスターフリップフロップに受け入れられる。マスターフリップフロップからの信号はトランスファートランジスタ122がオンしたときにスレイブフリップフロップに伝わる。インバータ123の出力は出力信号125となる。
P型トランジスタ115及びN型トランジスタ108はクロック信号110の論理が"Ｈ"のときのみオンし、Ｐ型トランジスタ116及びN型トランジスタ119へ電源(Ｖｃｃ及びＶｓｓ)を供給する。また、Ｐ型トランジスタ116はインバータ121とトランスファートランジスタ122との間のクリティカルノードが保持する信号の論理が"Ｌ"のときにオンする。さらに、Ｎ型トランジスタ119はインバータ121とトランスファートランジスタ122との間のクリティカルノードが保持する信号の論理が"Ｈ"のときにオンする。【００５１】
従って、クロック信号110の論理が"Ｈ"の場合において、トランスファートランジスタ113が閉じているときには、トランスファーゲート113とインバータ111との間のクリティカルノードが保持する信号の論理と同様の電位が、P型トランジスタ115と116、又は、N型トランジスタ118と119により、電源(Ｖｃｃ及びＶｓｓ)から供給される。クロック信号110の論理が"Ｌ"の場合において、トランスファートランジスタ113が開いているときには、Ｐ型トランジスタ115及びN型トランジスタ118はオフしている。そうすると、入力信号111を受け入れるときに、P型トランジスタ115と116、及び、N型トランジスタ118と119は電位を供給せず、それらのトランジスタが入力信号111を受け入れるための障害となることがない。従って、図11の構成をもつフリップフロップの出力信号の遅延時間は、P型トランジスタ115と116、及び、N型トランジスタ118と119が付加されていないフリップフロップと同様なものとなる。【００５２】
すなわち、実施例３の信号伝達回路のフリップフロップは、マスラーフリップフロップと、スレイブフリップフロップと、マスターフリップフロップのクリティカルノードと電源とを接続する直列接続された２つのＰ型トランジスタと、マスターフリップフロップのクリティカルノードと電源とを接続する直列接続された２つのＮ型トランジスタとを備える。そして、マスターフリップフロップが信号を保持しているときは、２つのＰ型トランジスタ及び２つのＮ型トランジスタはマスターフリップフロップのクリティカルノードが保持する信号論理に応じて、信号論理と同電位の電位を供給する。また、マスターフリップフロップが信号を受け入れるときは、２つのＰ型トランジスタ及び２つのＮ型トランジスタはクリティカルノードへの電位の供給を止める。【００５３】
実施例３の信号伝達回路によれば、信号伝達回路のフリップフロップが上記のような動作をするため、α線等によりノイズが発生した場合でも、クロック信号の論理が"Ｈ"のときに、出力信号の反転確率が減少する。一方、信号伝達回路のフリップフロップの信号出力までの遅延時間は保持される。従って、ＬＳＩ全体回路のソフトエラー率を低下させる効果がある。【００５４】
（実施例４）
実施例４は、実施例１のソフトエラー耐性を高めた半導体装置の設計方法を実行するためのＣＡＤ装置に関するものである。そして、図12を用いて、実施例４について説明する。
図12は、実施例４のＣＡＤ装置の構成を説明する図である。そして、図12は、ＣＡＤ装置130、回路設計データ131、修正された回路設計データ132、入出力手段133、クリティカルパスの検出手段134a、信号遅延時間を求める手段134b、最長の信号遅延時間を検出する手段134c、出力反転率を求める手段134d、ソフトエラー率の計算手段135、ソフトエラー率が所定以下であるかを判断する手段136、及び、ソフトエラー率を低下するように信号伝達回路を修正する手段137を示す。【００５５】
ＣＡＤ装置130はＬＳＩ回路の回路設計データ131を入出力手段132により取り込む。そして、ＣＡＤ装置130は図２Ａ、図２Ｂ、及び、図２Ｃを用いて説明したクリティカルパスの検出をクリティカルパスの検出手段134aで行い、図３Ａ乃至図３Ｃ、及び、図４Ａ乃至図４Ｂで説明したソフトエラー率の計算をソフトエラー率の計算手段135で行なう。ＣＡＤ装置130は上記のソフトエラー率と予め定められたソフトエラー率を比較して、予め定められたソフトエラー率に達しているかを、すなわち、ソフトエラー率が所定以下であるかを判断する手段136で判断する。なお、クリティカルパスの検出手段134aでは、信号遅延時間を求める手段134bにより信号遅延時間を求め、最長の信号遅延時間を検出する手段134cにより、最長の信号遅延時間を検出し、出力反転率を求める手段134dにより出力反転率をもとめる。その結果、ＬＳＩ回路のソフトエラー率が予め定められたソフトエラー率に達しないときは、図５Ａ乃至図５Ｃ、図７Ｃ、図８Ａ乃至図８Ｄ、図９Ａ乃至図９Ｄ、図10A乃至図10B、又は、図11等に示した、信号遅延時間を延長する信号伝達回路の構成、又は、信号伝達回路のフリップフロップの出力信号の論理反転率を低下さる信号伝達回路の構成となるように、信号伝達回路の設計データを修正する。そして、ＣＡＤ装置130は修正された回路設計データを入出力手段により出力する。
実施例４のＣＡＤ装置によれば、ＣＡＤ装置が上記のような動作をするため、実施例１のソフトエラー耐性を高めた半導体装置の設計方法を実行することができる。また、ＣＡＤ装置から出力された、修正した回路設計データに基づいてＬＳＩ回路を製造すれば、ソフトエラー耐性の高いＬＳＩ回路を製造することができる。
【産業上の利用可能性】
【００５６】
本発明のＣＡＤ装置によれば、ＬＳＩ回路全体の性能は低下させないＬＳＩ回路の設計方法を実現する。一方、信号伝達回路のソフトエラー耐性は信号伝達時間、出力反転率の修正により、強化されるため、ＬＳＩ回路全体としては、ソフトエラー耐性を強化するＬＳＩ回路の設計方法を実現するＣＡＤ装置を提供できる。
本発明の信号伝達回路によれば、信号伝達回路のフリップフロップ回路間の信号遅延時間を、クリティカルパスに使用されている信号伝達回路の信号遅延時間に合わせることにより、放射線等によるフリップフロップ回路からの反転信号が伝達されるまでの時間が延びるため、ソフトエラー耐性は強化され、一方、ＬＳＩ全体の性能はクリティカルパスに支配されている状況はかわらないため、ＬＳＩ回路全体の性能は低下しない信号伝達回路を提供することができる。
本発明の他の信号伝達回路によれば、信号伝達回路のフリップフロップ回路のマスターフリップフロップ部分のみに容量付加することにより、フリップフロップ回路の出力が反転する確率が減少するため、ソフトエラー耐性を強化され、一方、容量の付加が少なくてよいためＬＳＩ全体の性能の低下は少ない信号伝達回路を提供することができる。
本発明の半導体装置によれば、上記の信号伝達回路を半導体回路が含むため、ソフトエラー耐性が強化され、一方、ＬＳＩ全体の性能の低下は少ない半導体装置を提供することができる。
【符号の説明】
【００５７】
１ａ  クリティカルパスを検出する工程
１ｂ  信号遅延時間を求める工程
１ｃ  最長の信号遅延時間の検出工程
１ｄ  出力反転率を求める工程
２  ソフトエラー率の計算を行う工程
３  ソフトエラー率が所定以下であることを判断する工程
４  ＬＳＩ回路を変更する工程
７  フリップフロップ
８  遅延素子
９  フリップフロップ
11、15  トランスファーゲート
12  ノードＡ
13、17、19、20a  インバータ
14  ノードB14
16  ノードＣ
18  ノードＤ
21  ＬＳＩ回路
22  バス配線
23、24、25、26、27  遅延素子
28、29、30、31  フリップフロップ回路
32、33、34  クロックトリーを構成するクロックバッファ
45、46  度数分布
47  度数分布関数47
48  ソフトエラーを起こす可能性がある信号伝達回路の数を示す度数分布中の領域
49  関数Ｄ(t)をＴｆからＴｃまで積分したものをＴｃ及びＮで除したものを示す折れ線
50  クロック信号
51  クロック信号が"H"の状態におけるフリップフロップの出力信号の反転確率を示す折れ線
52  クロック信号が"L"の状態におけるフリップフロップの出力信号の反転確率を示す折れ線
55  度数分布
56  度数分布関数Ｄ(ｔ)
57  ソフトエラーを起こす可能性がある信号伝達回路の数を示す領域
58  図３Ｃの度数分布関数Ｄ(ｔ)をＴｆからＴｃまで積分して得られるものを信号伝達回路の総数で除した結果を表す関数
59  度数分布関数Ｄ(ｔ)56をＴｆからＴｃまで積分して得られる関数を信号伝達関数の総数で除した結果を表す関数
67、68、69、70、71  インバータ
72、73  トランスファーゲート
76  「反転信号の伝達によるソフトエラー率」を示す関数
77  クロック信号
78  容量
80  クロック信号77の論理が”Ｈ”である期間中における修正後のフリップフロップの出力信号の論理が反転する確率
81  クロック信号77の論理が”Ｌ”である期間中における修正後のフリップフロップの出力信号の論理が反転する確率
83、86、87、88、89  インバータ
84、85  トランスファーゲート
90  フリップフロップ
91  インバータ
92、93  容量
94  抵抗
95  フリップフロップの回路パターン
96  インバータの回路パターン
97  ダミー回路パターン
99、100  容量パターン
101  抵抗パターン
102  配線パターン
103  ウエルパターン
104  フィールド領域パターン
105  ゲート電極パターン
106  駆動能力が小さいインバータ
112、120、121、123、124  インバータ
113、122  トランスファートランジスタ
114  電圧が高い電源(Ｖｃｃ)
115、116  Ｐ型トランジスタ
117  電圧が低い電源(Ｖｓｓ)
118、119  Ｎ型トランジスタ
130  ＣＡＤ装置
131  回路設計データ
132  修正された回路設計データ
133  入出力手段
134a  クリティカルパスの検出手段
134b  信号遅延時間を求める手段
134c  最長の信号遅延時間を検出する手段
134d  出力反転率を求める手段
135  ソフトエラー率の計算手段
136  ソフトエラー率が所定以下であるかを判断する手段
137  ソフトエラー率を低下するように信号伝達回路を変更する手段
【図１】
2007034548.tif 000006
【図２】
2007034548.tif 000007
【図３】
2007034548.tif 000008
【図４】
2007034548.tif 000009
【図５】
2007034548.tif 000010
【図６】
2007034548.tif 000011
【図７】
2007034548.tif 000012
【図８】
2007034548.tif 000013
【図９】
2007034548.tif 000014
【図１０】
2007034548.tif 000015
【図１１】
2007034548.tif 000016
【図１２】
2007034548.tif 000017
【手続補正書】
【提出日】平成20年5月26日(2008.5.26)
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ＬＳＩ回路中の各信号伝達回路が信号を伝達する信号伝達時間を求める手段と、
前記信号伝達時間に基づいて、最長となる最長信号伝達時間を検出する手段と、
フリップフロップ回路の出力信号の論理が反転する出力反転率を、前記フリップフロップ回路のクリティカルノードが保持する電荷量に基づいて求める手段と、
前記信号伝達時間と、動作クロック周期と、前記フリップフロップ回路の前記出力反転率とに基づいて前記ＬＳＩ回路のソフトエラー率を計算する手段と、
予め決められたソフトエラー率が前記ＬＳＩ回路のソフトエラー率と比較して小さい時は、前記最長信号伝達時間が変わらない範囲で、前記ＬＳＩ回路の変更を行う手段とを備えることを特徴とするＣＡＤ装置。
【請求項２】
前記ＬＳＩ回路の変更を行う手段は
前記ＬＳＩ回路のソフトエラー率を小さくするように、前記信号伝達回路を構成する遅延素子の変更を行うことを特徴とする請求項１に記載されたＣＡＤ装置。
【請求項３】
前記信号伝達回路は、
第１フリップフロップ回路と、
第２フリップフロップ回路と、
ダミー回路を含む遅延素子と、を含み、
前記遅延素子は、前記第１フリップフロップ回路の出力端子と前記第２フリップフロップ回路の入力端子間に配置され、前記出力端子からの信号を遅延させて前記入力端子へ伝達し、
前記信号伝達回路を構成する前記遅延素子の変更は、前記ダミー回路をインバータ回路へ変更することを特徴とする請求項２に記載されたＣＡＤ装置。
【請求項４】
前記信号伝達回路は、
第１フリップフロップ回路と、
第２フリップフロップ回路と、
容量を含む遅延素子と、を含む、
前記遅延素子は、前記第１フリップフロップ回路の出力端子と前記第２フリップフロップ回路の入力端子間に配置され、前記出力端子からの信号を遅延させて前記入力端子へ伝達し、
前記信号伝達回路を構成する前記遅延素子の変更は、前記容量を増減することにより行うことを特徴とする請求項２に記載されたＣＡＤ装置。
【請求項５】
前記信号伝達回路は、
第１フリップフロップ回路と、
第２フリップフロップ回路と、
前記第１フリップフロップ回路の出力端子と前記第２フリップフロップ回路の入力端子間に配置され、前記出力端子からの信号を遅延させて前記入力端子へ伝達する遅延素子であって、抵抗を含む前記遅延素子とを備え、
前記信号伝達回路を構成する前記遅延素子の変更は前記抵抗を増減することにより行うことを特徴とする請求項２に記載されたＣＡＤ装置。
【請求項６】
前記ＬＳＩ回路の変更を行う手段は
前記フリップフロップ回路の前記出力反転率を小さくするように、前記フリップフロップ回路の変更を行うことを特徴とする請求項１に記載されたＣＡＤ装置。
【請求項７】
前記信号伝達回路は
マスターフリップフロップ及びスレイブフリップフロップを有する第１フリップフロップ回路と、
第２フリップフロップ回路と、
前記第１フリップフロップ回路の出力端子と前記第２フリップフロップ回路の入力端子間に配置され、前記出力端子からの信号を遅延させて前記入力端子へ伝達する遅延素子とを備え、
前記フリップフロップ回路の変更はマスターフリップフロップのクリティカルノードに容量を付加することを特徴とする請求項６に記載されたＣＡＤ装置。
【請求項８】
ＬＳＩ回路中の各信号伝達回路が信号を伝達する信号伝達時間を求める工程と、
前記信号伝達時間に基づいて、最長となる最長信号伝達時間を検出する工程と、
前記フリップフロップ回路の出力信号の論理が反転する出力反転率を、前記フリップフロップ回路のクリティカルノードが保持する電荷量に基づいて求める工程と、
前記信号伝達時間と、動作クロック周期と、前記フリップフロップ回路の前記出力反転率とに基づいてＬＳＩ回路のソフトエラー率を計算する工程と、
予め決められたソフトエラー率が前記ＬＳＩ回路のソフトエラー率と比較して小さい時は、前記最長信号伝達時間が変わらない範囲で、前記ＬＳＩ回路の変更を行う工程とを備えることを特徴とする半導体回路装置の設計方法。
【請求項９】
第１フリップフロップ回路と、
第２フリップフロップ回路と、
前記第１フリップフロップ回路の出力端子と前記第２フリップフロップ回路の入力端子間に配置され、ＬＳＩ回路においてクリティカルパスとして特定された信号伝達回路の遅延時間に等しい遅延時間となるように、前記出力端子からの信号を遅延させて前記入力端子へ伝達する遅延素子とを備える信号伝達回路。
【請求項１０】
マスターフリップフロップ及びスレイブフリップフロップとを有し、マスターフリップフロップのクリティカルノードに容量を付加した第１フリップフロップ回路と
第２フリップフロップ回路と、
前記第１フリップフロップ回路の出力端子と前記第２フリップフロップ回路の入力端子間に配置され、前記出力端子からの信号を遅延させて前記入力端子へ伝達する遅延素子とを備える信号伝達回路。
【手続補正書】
【提出日】平成20年12月25日(2008.12.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ＬＳＩ回路中の各信号伝達回路が信号を伝達する信号伝達時間を求める手段と、
前記信号伝達時間に基づいて、最長となる最長信号伝達時間を検出する手段と、
フリップフロップ回路の出力信号の論理が反転する出力反転率を、前記フリップフロップ回路のクリティカルノードが保持する電荷量に基づいて求める手段と、
前記信号伝達時間と、動作クロック周期と、前記フリップフロップ回路の前記出力反転率とに基づいて前記ＬＳＩ回路のソフトエラー率を計算する手段と、
予め決められたソフトエラー率が前記ＬＳＩ回路のソフトエラー率と比較して小さい時は、前記最長信号伝達時間が変わらない範囲で、前記ＬＳＩ回路の変更を行う手段とを備えることを特徴とする設計支援装置。
【請求項２】
前記ＬＳＩ回路の変更を行う手段は前記ＬＳＩ回路のソフトエラー率を小さくするように、前記信号伝達回路を構成する遅延素子の変更を行うことを特徴とする請求項１に記載された設計支援装置。
【請求項３】
前記信号伝達回路は、
第１フリップフロップ回路と、
第２フリップフロップ回路と、
ダミー回路を含む遅延素子と、を含み、
前記遅延素子は、前記第１フリップフロップ回路の出力端子と前記第２フリップフロップ回路の入力端子間に配置され、前記出力端子からの信号を遅延させて前記入力端子へ伝達し、
前記信号伝達回路を構成する前記遅延素子の変更は、前記ダミー回路をインバータ回路へ変更することを特徴とする請求項２に記載された設計支援装置。
【請求項４】
前記信号伝達回路は、
第１フリップフロップ回路と、
第２フリップフロップ回路と、
容量を含む遅延素子と、を含む、
前記遅延素子は、前記第１フリップフロップ回路の出力端子と前記第２フリップフロップ回路の入力端子間に配置され、前記出力端子からの信号を遅延させて前記入力端子へ伝達し、
前記信号伝達回路を構成する前記遅延素子の変更は、前記容量を増減することにより行うことを特徴とする請求項２に記載された設計支援装置。
【請求項５】
前記信号伝達回路は、
第１フリップフロップ回路と、
第２フリップフロップ回路と、
前記第１フリップフロップ回路の出力端子と前記第２フリップフロップ回路の入力端子間に配置され、前記出力端子からの信号を遅延させて前記入力端子へ伝達する遅延素子であって、抵抗を含む前記遅延素子とを備え、
前記信号伝達回路を構成する前記遅延素子の変更は前記抵抗を増減することにより行うことを特徴とする請求項２に記載された設計支援装置。
【請求項６】
前記ＬＳＩ回路の変更を行う手段は前記フリップフロップ回路の前記出力反転率を小さくするように、前記フリップフロップ回路の変更を行うことを特徴とする請求項１に記載された設計支援装置。
【請求項７】
前記信号伝達回路は
マスターフリップフロップ及びスレイブフリップフロップを有する第１フリップフロップ回路と、
第２フリップフロップ回路と、
前記第１フリップフロップ回路の出力端子と前記第２フリップフロップ回路の入力端子間に配置され、前記出力端子からの信号を遅延させて前記入力端子へ伝達する遅延素子とを備え、
前記フリップフロップ回路の変更はマスターフリップフロップのクリティカルノードに容量を付加することを特徴とする請求項６に記載された設計支援装置。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は設計支援装置に関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
（発明が解決しようとする課題）
信号伝達回路に使用されるフリップフロップ回路において論理レベルの反転を防止するため、上記のフリップフロップ回路に一律に容量を付加することは、すべての信号伝達回路の信号伝達に遅延をもたらす。従って、ロジックＬＳＩ回路全体が高速動作に対応できない結果となることがある。例えば、所定のクロック周波数を有するクロック信号下での動作が保証できないこともある。
一方、信号伝達回路の動作を考えた場合、論理レベルの反転がフリップフロップ回路で起きなければ、ソフトエラーとして認識されないことは明らかである。ところが、論理レベルの反転が起こった場合でも、論理レベルの反転が起こったフリップフロップ回路から、次のフリップフロップ回路に論理レベルの反転信号が伝わり、論理レベルの反転した信号がラッチされなければ、ソフトエラーとして認識されない。従って、ソフトエラー耐性を高めるために、信号伝達回路に使用されるフリップフロップ回路に一律に容量を付加するという手法以外にも考えられる。
また、論理レベルが反転した信号が次のフリップフロップ回路にラッチされた場合でも、複数の信号の論理間でパリティーをとることによりエラーチェックし、命令をリトライすることでソフトエラーを回避する方法がある。しかし、上記の方法では、ロジックＬＳＩ回路の性能は大幅に低下することになる。
そこで、本発明の目的は、半導体回路のソフトエラー耐性を強化する設計を行う設計支援装置を提供することにある。
（課題を解決するための手段）
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
本発明の設計支援装置は、ＬＳＩ回路中の各信号伝達回路が信号を伝達する信号伝達時間を求める手段と、前記信号伝達時間に基づいて、最長となる最長信号伝達時間を検出する手段と、フリップフロップ回路の出力信号の論理が反転する出力反転率を、前記フリップフロップ回路のクリティカルノードが保持する電荷量に基づいて求める手段と、前記信号伝達時間と、動作クロック周期と、前記フリップフロップ回路の前記出力反転率とに基づいて前記ＬＳＩ回路のソフトエラー率を計算する手段と、予め決められたソフトエラー率が前記ＬＳＩ回路のソフトエラー率と比較して小さい時は、前記最長信号伝達時間が変わらない範囲で、前記ＬＳＩ回路の変更を行う手段とを備えることを特徴とするため、上記の課題が解決される。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】削除
【補正の内容】
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】削除
【補正の内容】
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】削除
【補正の内容】
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
(発明の効果)
本発明の設計支援装置によれば、ソフトエラー率を計算するために必要な信号伝達回路の信号伝達時間、フリップフロップ回路の出力反転率を求め、クリティカルパスとなる信号伝達回路を特定する手段と、上記の信号伝達時間、出力反転率を使用してソフトエラー率を計算する手段と、予め決められたソフトエラー率に達しない場合には、クリティカルパスとなる信号伝達回路の信号伝達時間はかえないようにして、信号伝達回路の信号伝達時間及び信号伝達回路のフリップフロップ回路の出力反転率を修正する手段とを備えるため、ＬＳＩ回路全体の性能を決めているクリティカルパスとなる信号伝達回路の信号伝達時間は変えないため、ＬＳＩ回路全体の性能は低下させないＬＳＩ回路の設計方法を実現する。一方、信号伝達回路のソフトエラー耐性は信号伝達時間、出力反転率の修正により、強化されるため、ＬＳＩ回路全体としては、ソフトエラー耐性を強化するＬＳＩ回路の設計方法を実現する。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】削除
【補正の内容】
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】削除
【補正の内容】
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００５６
【補正方法】変更
【補正の内容】
【００５６】
本発明の設計支援装置によれば、ＬＳＩ回路全体の性能は低下させないＬＳＩ回路の設計方法を実現する。一方、信号伝達回路のソフトエラー耐性は信号伝達時間、出力反転率の修正により、強化されるため、ＬＳＩ回路全体としては、ソフトエラー耐性を強化するＬＳＩ回路の設計方法を実現する設計支援装置を提供できる。
【国際調査報告】
2007034548.tif 000018
2007034548.tif 000019
2007034548.tif 000020
2007034548.tif 000021
2007034548.tif 000022
2007034548.tif 000023