JP4600313B2 - 論理回路の故障検出回路の生成方法およびその装置 - Google Patents

論理回路の故障検出回路の生成方法およびその装置 Download PDF

Info

Publication number
JP4600313B2
JP4600313B2 JP2006051477A JP2006051477A JP4600313B2 JP 4600313 B2 JP4600313 B2 JP 4600313B2 JP 2006051477 A JP2006051477 A JP 2006051477A JP 2006051477 A JP2006051477 A JP 2006051477A JP 4600313 B2 JP4600313 B2 JP 4600313B2
Authority
JP
Japan
Prior art keywords
circuit
detection circuit
logic circuit
failure detection
logic
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.)
Expired - Fee Related
Application number
JP2006051477A
Other languages
English (en)
Other versions
JP2007233496A (ja
Inventor
輝昭 酒田
弘道 山田
鉄平 広津
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2006051477A priority Critical patent/JP4600313B2/ja
Publication of JP2007233496A publication Critical patent/JP2007233496A/ja
Application granted granted Critical
Publication of JP4600313B2 publication Critical patent/JP4600313B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/80Technologies aiming to reduce greenhouse gasses emissions common to all road transportation technologies
    • Y02T10/82Elements for improving aerodynamics

Description

本発明は、論理回路の故障検出回路の生成方法及びその装置に関し、特に該論理回路が稼動中に発生した故障を検出するための故障検出回路の生成方法およびその装置に関するものである。
自動車におけるエックス・バイ・ワイヤ(X−by−Wire)技術や、より高速で安全な鉄道システムなど、電子機器による制御システムが必要不可欠な社会において、それらシステムの中核を成す集積回路に要求される事項の一つに、安全性を保障する高信頼化が挙げられる。
このようなシステムに用いられる集積回路として、演算処理や制御処理を行う論理回路や、様々なデータを保持しておく記憶回路を、ワンチップに集積したシステムLSIが広く使用されるようになってきている。
集積回路の稼動時の信頼性を高めるには、稼動中に発生した故障を検出する故障検出技術が用いられており、特にパリティチェックや誤り訂正符号(Error-Correcting-Code、以下ECCと表記する)は集積回路の記憶回路部分においては広く使用されるようになった。
一方、集積回路の論理回路部分においては、記憶回路部分のように構造が規則的ではないことから、パリティチェック回路などの故障検出回路を人手で設計する必要があった。
特許文献1に記載された故障検出回路の生成方法では、論理回路の設計情報に対し、パリティ信号生成情報に合致した箇所にパリティ信号回路を生成して付加し、チェック回路生成情報に合致した箇所にチェック信号回路を生成して付加することで、論理回路部分に故障検出回路が追加された新たな論理回路を生成し、論理回路の故障検出回路の設計工数を削減している。
特開平6−44336号公報 南谷崇、「フォールトトレラントコンピュータ」、オーム社、1991年2月、第1版、p.127−133
ところで、前記のような論理回路の故障検出回路生成方法について、本発明者が検討した結果、以下のようなことが明らかとなった。
一般に、クロック同期式の論理回路を設計する場合、設計制約として満たされるべきディレイ値や回路の面積,消費電力などがあるが、論理回路の構造でパリティ信号生成情報の条件に合致した箇所に対して、一律にパリティ信号回路を生成して付加すると、ディレイの余裕度が厳しい箇所にもパリティ信号回路が生成されることがあり、その結果、パリティ信号回路付加後の論理回路が所望のディレイ制約を満たすことができず、パリティ信号回路の設計からやり直さなければならないことがあり得る。
パリティ信号回路の生成をやり直して手作業で付加し、その後にディレイ値を求め、ディレイ制約を満たさなければやり直し続けるか、あるいは目標性能を落とすかという判断を下すことになり、時間がかかっていた。
また、ディレイ制約だけではなく、面積や消費電力の制約についても同様に、パリティ信号回路の付加による増分によって所望の制約を満たさなくなってしまった場合は、パリティ信号回路の設計をやり直さなければならず、設計工数が増える可能性があった。
システムLSIをはじめとする集積回路では少量多品種生産により製品の短期開発が求められ、限られた時間内で新たな機能を追加するのが困難になっている状況のさなか、新たに故障検出回路を設計するのは困難である。
一方、先に述べたような生成方法を用いても、設計制約違反で再設計の工数が増えてしまっては要求納期に間に合わせるのが困難であると考えられる。
そこで本発明の目的は、論理回路に対して予め求められたディレイ情報と、設計の制約条件を用いることで、様々な種類の故障検出回路を複数生成し、その中から制約条件内に収まる故障検出回路を選択して論理回路に付加することが可能な故障検出回路生成方法および故障検出回路生成装置を提供することにある。
また更に、生成される故障検出回路の候補や、故障検出回路のディレイ値,面積値,消費電力値などをデータベース化しておくことで、制約条件内に収めるための故障検出回路を容易に使用できる仕組みも提供する。
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
すなわち、論理回路が稼動中に発生した故障を検出するための故障検出回路の生成方法において、前記論理回路内にあるレジスタの故障を検出する故障検出回路を生成すること、前記論理回路内にある各レジスタ間パスのディレイ値を計算すること、生成された前記故障検出回路のディレイ値に、前記レジスタ間パスのディレイ値を加えた合計ディレイ値が前記論理回路に対するディレイ制約条件に収まらない場合は、別の故障検出回路が生成され、前記ディレイ制約条件に収まった故障検出回路を前記論理回路に付加することを特徴とするものである。
また、論理回路が稼動中に発生した故障を検出するための故障検出回路の生成方法において、前記論理回路内にあるレジスタの故障を検出する故障検出回路を生成すること、前記論理回路の面積を計算し、前記論理回路の面積値と、前記論理回路に対する面積制約を有し、生成された前記故障検出回路の面積値に、前記論理回路の面積値を加えた合計面積値が論理回路の面積制約条件に収まらない場合は、別の故障検出回路が生成され、前記面積制約に収まった故障検出回路を前記論理回路に付加することを特徴とするものである。
また、論理回路が稼動中に発生した故障を検出するための故障検出回路の生成方法において、前記論理回路内にあるレジスタの故障を検出する故障検出回路を生成すること、前記論理回路の消費電力を計算し、前記論理回路の消費電力値と、前記論理回路に対する消費電力制約を有し、生成された前記故障検出回路の消費電力値に、前記論理回路の消費電力値を加えた合計消費電力値が論理回路の消費電力制約に収まらない場合は、別の故障検出回路が生成され、前記消費電力制約に収まった故障検出回路を前記論理回路に付加することを特徴とするものである。
また、論理回路が稼動中に発生した故障を検出するための故障検出回路の生成装置において、前記論理回路内にあるレジスタの故障を検出する故障検出回路を生成する故障検出回路生成手段と、前記論理回路内にある各レジスタ間パスのディレイ値を計算するディレイ計算手段と、前記故障検出回路生成手段によって生成された故障検出回路のディレイ値に、前記レジスタ間パスのディレイ値を加えた合計ディレイ値が前記論理回路に対するディレイ制約条件に収まらない場合は、前記故障検出回路生成手段によって前記故障検出回路とは別の故障検出回路が生成され、前記ディレイ制約条件に収まった故障検出回路を前記論理回路に付加することを特徴とするものである。
本願において開示される発明のうち、代表的なものによって得られる効果を説明すれば、以下のとおりである。
(1)論理回路に含まれるレジスタに対して故障検出回路を網羅的に付加しても、付加した後の論理回路がディレイ制約などの設計制約を満たすことが容易になる。
(2)本発明の故障検出回路生成方法およびその装置を利用することで、信頼性の高い集積回路を少ない設計期間で実装でき、高い信頼性が必要とされる自動車システム,鉄道システム,その他産業用システムなどを短期間で実装することが可能になる。
論理回路のディレイ情報とディレイ制約をもとに、ディレイ制約を満たす最適な故障検出回路を生成して論理回路に付加する方法およびその装置を実現した。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
〔実施の形態1〕
図1は、本発明の実施の形態1における、故障検出回路の生成方法の流れを示す図である。
設計者が作成した論理回路データ11に対し、回路構造の解析処理1を行って、論理回路データ11に含まれるレジスタと、各レジスタ間のタイミングパスを抽出する。
また、論理回路データ11に対してディレイ解析処理2を行い、各レジスタ間のディレイ値を集めたディレイ情報12を生成する。
このディレイ解析処理2は、一般にはスタティックタイミング解析(Static Timing
Analysis、以下STA)と呼ばれるもので、STAを行うための市販のソフトウェアなどが多数存在し、これらのソフトウェアを用いて解析処理を行うことが出来る。
設計者が与える制約条件13と、ディレイ情報12をもとに、故障検出回路の生成処理3において、回路構造の解析処理1にて抽出されたレジスタ部分に故障検出回路が生成され、故障検出回路付き論理回路データ14が生成される。
図1に示したフローの詳細について、図2,図3,図4、および図5を用いて説明する。
図2は、4つのレジスタ群51,52,53,54と、2つの組み合わせ回路22,
23を含み、2つの入力ポート24、26と2つの出力ポート25、27を有する論理回路31のブロック図の例である。
図2には明記していないが、各レジスタ群51,52,53,54は同一のクロック信号の立ち上がりに同期して保持されている値が更新されるもので、以降の図に表れるレジスタにおいても特に記載が無い限りは同様の構成である。
なお、ここで説明するレジスタは、1ビットで0または1の論理値をとるものである。
レジスタ群51から組み合わせ回路22を通ってデータ信号101がレジスタ群52に至るまでが1つのタイミングパスであり、この間のディレイ値は5nsである。
また、レジスタ群53から組み合わせ回路23を通ってデータ信号103がレジスタ群54に至るまでもまた1つのタイミングパスであり、この間のディレイ値は7nsである。
図3は、図1のフローにおける故障検出回路の生成処理3について詳細に説明したフローである。
図1の回路構造の解析処理1が終了し、ディレイ情報12と制約条件13が揃った時点で、図3のステップ401から処理を開始する。
通常、論理回路には数多くのレジスタ間タイミングパスが存在するので、ステップ402において、故障検出回路を付加するためのタイミングパスを1つ選択する。
そして、ステップ403において、このタイミングパスに付加する故障検出回路を生成する。
後で説明するが、ここで生成される故障検出回路はパリティチェック回路,ECC回路,レジスタ多重化回路又はパリティ多重化回路などの複数の候補から選ばれる。
ステップ404で生成した故障検出回路に対してディレイ解析処理を行い、生成した故障検出回路をもとのタイミングパスに付加した場合にディレイ値がどの程度増えるかを計算する。
計算されたディレイ値が、設計者から与えられたディレイ制約を満たしていれば、ステップ405からステップ406に流れ、生成した故障検出回路を付加し、ステップ408にて故障検出回路を論理回路のどの箇所に付加したかを憶えておく。
一方、ステップ405でディレイ制約を満たさなかった場合は、ステップ407にて、付加する故障検出回路の候補が他にあるか否かを判断する。
付加する故障検出回路の候補が他にある場合、ステップ403に戻り、先ほど生成した故障検出回路とは別の故障検出回路を生成して、再びステップ404,405に流れ、ディレイ制約を満たすか否かを判定する。
ディレイ制約を満たさない場合で、かつステップ407において付加する回路の候補が無くなってしまった場合は、ステップ409において、論路回路のそのタイミングパスに対しては故障検出回路を付加できなかったことを記憶しておく。
ステップ410において、論理回路に含まれる全てのタイミングパスについて適用したか否かを判定し、まだであればステップ402に戻ってフローを繰り返す。
論理回路に含まれる全てのタイミングパスについて適用し終わった場合はステップ411に流れ、故障検出回路を付加した論理回路を出力し、ステップ412において故障検出回路を付加した箇所と付加できなかった箇所の一覧を出力し、ステップ413にて終了する。
図4は、図2で示した論理回路に対して、図3のフローを適用して故障検出回路を付加している最中であることをブロック図にて示したものであり、ここでは、図2における8ビットのレジスタ群52と、32ビットのレジスタ群54に対して、故障検出回路を付加することを考える。
また、図2で示した論理回路のディレイ制約は10nsであり、1つのタイミングパスのディレイ値を10ns以下に収める必要がある。
図4では、ステップ402にてレジスタ群51からレジスタ群52へのタイミングパスが選択され、ステップ403にてパリティチェック回路71が生成されたことを表している。
パリティチェック回路71には、8ビットのデータ信号101の排他的論理和
(eXclusive−OR、以下XORと表記する)をとるXOR回路72と、8ビットのデータ信号102のXORをとるXOR回路74があり、それぞれ、レジスタ群52の入力データパリティと、出力データパリティを生成している。
また、パリティチェック回路71には、レジスタ群52と同一のクロック信号の立ち上がりに同期して値が更新される1ビットのレジスタ73があり、XOR回路72から入力されたパリティ信号を1サイクル後に出力する。
更に、パリティチェック回路71にはパリティ信号を比較するための比較回路75があり、比較回路75はXOR回路74とレジスタ73から出力されるパリティ信号を比較して、一致していれば値0を、不一致であれば値1を比較信号111に出力し、出力ポート28を介して論理回路21の外部に伝達する。
この比較回路75は、XORで実現できる。
このようなパリティチェック回路71をレジスタ群52に対して付加すると、レジスタ群52の8ビットのレジスタのうち、いずれか1ビットに故障が起こって保持しているデータ値が0から1または1から0に反転した場合、データを保持した時刻に生成されレジスタ73に保持されたパリティ信号と、データ値が反転してから生成されたパリティ信号の値が異なり、比較回路75から出力される比較信号111の値が1になるため、論理回路21のレジスタ群52に発生した故障を検出できる仕組みとなっている。
ところで、論理回路21におけるレジスタ群51からレジスタ群52へのタイミングパスは、パリティチェック回路71を付加する前は図2に示したようにディレイ値が5nsであったが、パリティチェック回路71を付加した結果、XOR回路72で2nsのディレイを要するため、レジスタ群51からレジスタ73へ新たにできたタイミングパスのディレイ値は、ステップ404のディレイ解析処理により7nsとなった。
この論理回路のディレイ制約は10nsであるため、このタイミングパスについては制約を満たしていることになり、ステップ406以降へ進んでいく。
一方、ステップ402にてレジスタ群53からレジスタ群54へのタイミングパスが選択され、ステップ403にてパリティチェック回路76が生成された場合を考える。
パリティチェック回路76は、データ信号103とデータ信号104が32ビット幅であること以外はパリティチェック回路71と同様の構造であるが、XOR回路77が32ビットのデータ信号103からパリティ信号を生成しているのでディレイが5nsを要し、レジスタ群53からレジスタ78へ新たにできたタイミングパスのディレイ値は、ステップ404のディレイ解析処理により12nsとなった。
これはディレイ制約に違反しているのだが、特許文献1に記載された故障検出回路生成方法では、32ビットのレジスタに所定のパリティチェック回路を付加して終了していたので、この時点でのディレイ違反を発見することができず、生成した故障検出回路を全て付加した後のタイミング解析においてディレイ違反を発見していたため、設計の手戻りによる工数が増加する問題が発生していた。
本発明では、ステップ405でディレイ制約を満たせなかった場合、ステップ407で付加する回路の候補が残っているか否かを判定する。
図5は、ステップ407からステップ403に戻って別の故障検出回路を生成した場合を表す論理回路のブロック図である。
図5の論理回路32は、図4の論理回路31と比較して、パリティチェック回路76であった部分がレジスタ多重化回路81に置き換わっている部分が異なっている。
レジスタ多重化回路81には、レジスタ群54と同じ32ビットのレジスタ群82があり、レジスタ群54へのデータ信号103がレジスタ群82へも同様に入力されている。
比較回路83は、レジスタ群82から出力されるデータ信号とレジスタ群54から出力されるデータ信号104の全ビットを比較して、一致していれば値0を、不一致であれば値1を比較信号113に出力し、出力ポート30を介して論理回路32の外部に伝達する。
ここで、レジスタ群53からレジスタ群82へのタイミングパスは、図4のパリティチェック回路76の場合と比較して、パリティを生成する部分が無いためディレイの増分がほとんど無く、ステップ404のディレイ解析処理によって8nsとなり、ディレイ制約を満たして、故障検出回路としてレジスタ多重化回路81を付加し、ステップ406以降へ進んでいく。
他のタイミングパスに関しても、故障検出回路の生成とディレイ解析処理を繰り返しながら、故障検出回路を付加していく。
また、図5では、生成する故障検出回路としてパリティチェック回路とレジスタ多重化回路を示したが、図6や図7のような回路を故障検出回路の候補に加えることも可能である。
図6は、ECC回路を故障検出回路として付加することで、故障を外部に隠蔽する回路のブロック図を示したものである。
ECC回路91では、検査ビット生成部93によって、32ビットのデータ信号103をもとに作られた7ビットの検査ビットが、レジスタ群92によって保持される。
レジスタ群92で保持された7ビットの検査ビットはシンドローム生成・復号部94に入力され、32ビットの訂正データ信号121が出力される。
XOR回路95では、訂正データ信号121と、レジスタ群54から出力されるデータ信号104のXORによりデータ信号122として出力し、このデータ信号122は、レジスタ群54に1ビットの故障が発生した場合でも、訂正された正しいデータとなっている。
また、シンドローム生成・復号部94から出力される故障検出信号123は、レジスタ群54に2ビット以上の故障が生じた場合にのみ値が1となり、その故障を外部に知らせる役割を持つ。
本発明では、故障検出回路生成フローにおけるステップ404のディレイ解析処理により、検査ビット生成部93やシンドローム生成・復号部94のディレイ値を測定するため、ディレイ余裕度の大きなタイミングパスに対してECC回路91を生成して付加できる。
なお、このようなECC回路の構成は、例えば非特許文献1など、多数の文献に記載されている。
また図7は、パリティを多重化した回路を故障検出回路として付加することで、故障を外部に隠蔽する回路のブロック図を示したものである。
パリティ多重化回路131に含まれる、8ビットのデータ信号101のXORをとる
XOR回路132,8ビットのデータ信号102のXORをとるXOR回路134,パリティを保持するレジスタ133,比較回路135の構成は、図5で示したパリティチェック回路71と同様である。
加えて、パリティ多重化回路131には、レジスタ群52と同じビット幅でデータ信号101の値を保持するレジスタ群136と、8ビットのデータ信号101のXORをとるXOR回路137,8ビットのデータ信号151のXORをとるXOR回路139,パリティを保持するレジスタ138,比較回路140が含まれ、これらはレジスタ群136に対するパリティチェック回路を構成している。
パリティ多重化回路131に含まれる比較回路135はレジスタ群52に故障が発生したときに比較信号152の値が1となるが、故障していないときは0である。
また、比較回路153はレジスタ群136に故障が発生したときに比較信号153の値が1となるが、故障していないときは0である。
マルチプレクサ142は、レジスタ群52から出力される8ビットのデータ信号102と、レジスタ群136から出力される8ビットのデータ信号151を選択してデータ信号154として出力するものであるが、選択信号として比較回路135の比較信号152が使用されている。
比較信号152は、レジスタ群52に故障が発生していない間は値0となっているため、このときマルチプレクサ142は故障の無い正しいレジスタ群52の出力データ102を選択する。
一方、レジスタ群52に故障が発生した場合、比較信号152の値が1になるが、このときはレジスタ群52と同じデータを保持しているレジスタ群136の出力データ151がマルチプレクサ142によって選択されるため、レジスタ群136に故障が発生していなければ、データ信号154は正しい値を出力し続けることができる。
仮に、レジスタ群52とレジスタ群136の両方に故障が発生した場合、比較信号152と153のどちらとも値が1となり、マルチプレクサ154からは故障の混入したデータ信号151が選択されるが、論理積(AND)回路141により故障検出信号155の値が1になるので、2つのレジスタ群が両方とも故障した場合は訂正不可能な故障であることを論理回路の外部に出力することができる。
本発明では、故障検出回路生成フローにおけるステップ404のディレイ解析処理によりディレイ値を測定するため、ディレイ余裕度の大きなタイミングパスに対してパリティ多重化回路131を生成して付加できる。
以上の説明により、様々な種類の故障検出回路を生成してディレイ解析を行い、ディレイ制約を満たす故障検出回路を付加していく方式とすることで、故障検出回路を付加した後でディレイ違反により再度故障検出回路の設計をし直す可能性が減るため、設計期間の増大を抑えながら論理回路の信頼性を高める設計を容易に行うことが可能になる。
また更に、ディレイ制約が厳しくて故障検出回路が付加できなかった箇所に関しても、ステップ412によってその箇所が出力されるので、設計者はその箇所に注力して故障検出回路を再構成したり故障検出回路の付加をあきらめる判断を迅速に下したりすることができるようになり、設計期間の増大を抑えることができる。
また更に、故障検出回路としてパリティチェック回路,レジスタ多重化回路,ECC回路、パリティ多重化回路を示したが、このほかにも様々な構造の故障検出回路を生成して、選択する候補に容易に加えることができるのは明らかである。
次に、本発明における故障検出回路生成方法および付加の結果を、回路設計で使用されるハードウェア記述言語による回路記述を用いて例示する。
図8は、ハードウェア記述言語Verilog−HDL(Hardware Description Language)によって表している回路記述501を示したものである。
回路記述501では、1行目ではモジュール宣言をしており、2行目から4行目で入力ポートを、5行目から6行目で出力ポートを、7行目から8行目で内部信号を、それぞれ定義している。
また、21行目から31行目では、2行目で定義したクロック信号clkの立ち上がりに同期してデータを更新するレジスタを4つ表記している。
回路記述501で表記しているレジスタのうち、outA出力となっている24行目から25行目のレジスタと、outB 出力となっている30行目から31行目の2つのレジスタに対し、本発明における故障検出回路生成方法により故障検出回路を付加すると、図9の回路記述502のようになる。
回路記述502で下線を引いた部分が、回路記述501からの追加および変更箇所である。
1行目のモジュール宣言では、新たに追加された出力ポートが増えている。
7行目から8行目では出力ポートが、11行目から13行目では内部信号が、それぞれ新たに追加されている。
75行目から91行目までが付加された故障検出回路の実体であるが、まず、75行目から76行目は、outA出力となるレジスタへの入力信号dataA1から、パリティ信号cmpA1を生成して保持するレジスタを表す。
78行目は、outA出力からパリティ信号cmpA2を生成している。
80行目から83行目はパリティ信号cmpA1とcmpA2を比較する比較回路を表記したものになり、outA出力となっているレジスタに故障が生じた場合はチェック信号chkAの値が1になるように記載されている。
一方、85行目から86行目は、outB出力となるレジスタへの入力信号dataB1 をクロック信号clkの立ち上がりに同期して更新するレジスタを表記しており、出力がcmpB1となる。
88行目から91行目はoutB出力とcmpB1出力を比較する比較回路を表記したものになり、outB出力となっているレジスタに故障が生じた場合はチェック信号chkBの値が1になるように記載されている。
また、図10は、ステップ412によって出力された回路付加結果503を示したものである。
回路付加結果503の1行目から4行目は、故障検出回路が付加できたタイミングパスの箇所を示しており、1箇所に対する付加結果が空白(スペース)によって区切られて1行に記載されていて、“//”で始まる行はコメントである。
例えば3行目の場合、左から順に付加したタイミングパス名が“from_dataA2_to_outA”であり、同期するクロック名が“clk” であり、付加したレジスタのインスタンス名が“from_dataA2_to_cmpA1”であり、チェック信号のピン名が“clkA” であり、付加した故障検出回路の種類が“Parity”であり、タイミングパスのディレイ値が“2.00
[ns]”であることを示している。
一方、6行目から9行目は、ディレイの制約から故障検出回路が付加できなかったタイミングパスの箇所を示しており、1箇所に対する付加結果が空白(スペース)によって区切られて1行に記載されていて、“//”で始まる行はコメントである。
例えば7行目の場合、左から順に付加できなかったタイミングパス名が“from_inA_to_dataA1”であり、タイミングパスのディレイ値が“2.00[ns]”オーバーしていることを示している。
これらのことにより、回路設計で使用されるハードウェア記述言語に対して、本発明の故障検出回路生成方法が適用可能であることが分かる。
また更に、実施の形態1では設計の制約条件としてディレイ値を選択して説明したが、制約条件として面積値や消費電力値などを選択し、ディレイ解析処理2を面積解析処理や消費電力解析処理に置き換え、ディレイ情報12を面積情報や消費電力情報に置き換えれば、ディレイ制約以外にも様々な設計制約条件を前提とした故障検出回路生成方法として適用可能である。
〔実施の形態2〕
次に、本発明における故障検出回路生成方法において、故障検出回路を付加する箇所のレジスタの取り扱い方についての一例を説明する。
図11は、組み合わせ回路201,202と、8ビットのイネーブル付きレジスタ群
203、4ビットのイネーブル付きレジスタ群204から成る論理回路を示すブロック図であり、この論理回路に対してパリティチェック回路209を生成し、論理回路の故障検出を行うことを示している。
イネーブル付きレジスタ群203、204にはイネーブル信号256が入力されており、イネーブル信号256の値が1のときに、共通のクロック信号の立ち上がりに同期してレジスタに保持されている値が更新される。
ここで、イネーブル付きレジスタ206はパリティビットを保持する1ビットのレジスタであるが、XOR回路205は、8ビットのデータ信号251と4ビットのデータ信号253を合わせた12ビットのデータ信号からパリティビットを生成し、イネーブル付きレジスタ206に入力している。
イネーブル付きレジスタ群203から出力される8ビットのデータ信号252と、イネーブル付きレジスタ群204から出力される4ビットのデータ信号254から、XOR回路207によってパリティ信号が生成され、イネーブル付きレジスタ206から出力されるパリティ信号とXOR回路207で生成されたパリティ信号は比較回路208に入力され、両方のパリティ信号の値が同じであれば比較信号255の値が0となって出力され、両方のパリティ信号の値が異なれば、レジスタ群203、204のいずれかのレジスタに故障が発生したことになり、比較信号255の値が1となって出力される。
図11に示したような回路構成にすることにより、1組のレジスタ群に対して1つの故障検出回路を生成しなくても、イネーブル信号とクロック信号が同じであれば、複数のレジスタ群に対して1つの故障検出回路を生成すれば良いため、付加される故障検出回路の面積を削減し、コスト効率に優れて消費電力の少ない論理回路を得ることが可能になる。
また、イネーブル信号の無いレジスタで、同じクロック信号を用いているレジスタ同士であれば同様の故障検出回路生成方法が適用できることは明らかである。
また図12は、組み合わせ回路301と、64ビットのレジスタ群302から成る論理回路を示すブロック図であり、この論理回路に対してパリティチェック回路312を生成し、論理回路の故障検出を行うことを表している。
パリティチェック回路312には、レジスタ群302と同じクロック信号の立ち上がりに同期して更新される1ビットのレジスタ304,308がある。
ここで、レジスタ群302に入力されている64ビットのデータ信号351の上位32ビットは、XOR回路303によってパリティ信号が生成されてレジスタ304に入力され、クロック信号の立ち上がりに同期して更新される。
また、データ信号351の下位32ビットは、XOR回路307によってパリティ信号が生成されてレジスタ308に入力され、クロック信号の立ち上がりに同期して更新される。
レジスタ群302から出力される64ビットのデータ信号352の上位32ビットは、XOR回路305によってパリティ信号が生成され、比較回路306においてレジスタ
304から出力されるパリティ信号と比較され、一致していれば比較信号353の値が0になり、不一致であれば比較信号353の値は1になる。
また、レジスタ群302から出力される64ビットのデータ信号352の下位32ビットは、XOR回路309によってパリティ信号が生成され、比較回路310においてレジスタ308から出力されるパリティ信号と比較され、一致していれば比較信号354の値が0になり、不一致であれば比較信号354の値は1になる。
更に、論理和(OR)回路311によって、比較信号353,354の論理和が故障検出信号355として出力されているので、この故障検出信号355の値が0のときはレジスタ群302に故障は発生していないが、故障検出信号355の値が1になったときはレジスタ群302のいずれかのレジスタに故障が発生したことを検出する。
図12に示したような回路構成では、32ビットのパリティチェック回路2つに分けて生成していることで、64ビットのパリティチェック回路を1つ生成する場合よりもディレイの増分を減らすことができるようになり、ディレイ制約を満たしやすい論理回路を得ることが可能になる。
また更に、図11と図12ではパリティチェック回路で説明したが、このように複数のレジスタ群に対して故障検出回路を1つ生成したり、1つのレジスタ群に対してビットを分割した故障検出回路を生成したりする方法は、実施の形態1で示したECC、レジスタ多重化、パリティ多重化およびその他の構成の故障検出回路にも適用可能である。
〔実施の形態3〕
図13は、本発明における故障検出回路生成方法の流れの一例を示したものであるが、実施の形態1の図1と比較して、故障検出回路データベース15が追加されている。
故障検出回路データベース15には、様々な種類の故障検出回路の論理記述と、故障検出回路のディレイ,面積,消費電力などの実測値や見積もり値が登録されている。
図14は故障検出回路データベース15に保存されるデータの一例をテーブル形式で示したものである。
故障検出回路テーブル511において、例えばNo.1の故障検出回路は、パリティチェック回路でビット幅が4であり、そのパリティチェック回路を論理回路に付加した場合、予想される追加ディレイ値が1.00ns、追加面積値が3.00、増加する消費電力値が
0.50μwであることを示している。
例えば、論理回路内のターゲットとなるタイミングパスが8ビットのレジスタ群である場合、故障検出回路テーブル511のNo.2にある8ビットのパリティチェック回路を選択したが、ディレイ値の増分が1.50ns ではディレイ制約に収まらないと判断した場合、故障検出回路テーブル511のNo.4にある8ビットのレジスタ多重化回路を選択すれば、ディレイ値の増分が1.00ns に下がるため、ディレイ制約に収まる可能性が高まる。
このように、故障検出回路データベース15がある場合、故障検出回路の生成処理3では、ターゲットとなるタイミングパスに対し、制約を満たす範囲内で最適な回路を選択することが容易になる。
また更に、実施の形態3では故障検出回路データベースに登録するデータの種類として、ディレイ,面積,消費電力などの値で例示したが、これら以外にもファンアウト数や回路を構成しているセルライブラリの名前など、故障検出回路の生成に役立つ様々なデータを登録して活用可能である。
尚、上述した一連の回路を生成する処理手段はCPUを有する電子計算機により構築されたシステム上に、ソフトウェアにより構成されて処理されているが、これらは色々な形態の電子計算機システムで構成することが可能である。
以上、本発明者によってなされた発明をその実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
本発明は、自動車システム,鉄道システム、その他産業システムなど一般に広く利用される集積回路に設けられる故障検出回路の生成方法およびその装置について適用可能である。
本発明の実施の形態1における故障検出回路の生成処理の全体をフローチャートで示す図である。 論理回路の一例を示すブロック図である。 本発明の実施の形態1における、故障検出回路の生成処理の詳細をフローチャートで示す図である。 図2に示した論理回路に対して、パリティチェック回路を付加した論理回路の一例を示すブロック図である。 図4に示した論理回路に対して、パリティチェック回路とレジスタ多重化回路を付加した論理回路の一例を示すブロック図である。 ECC回路を付加した論理回路の一例を示すブロック図である。 パリティ多重化回路を付加した論理回路の一例を示すブロック図である。 Verilog−HDLで記載した回路記述の一例を示す図である。 図8の回路記述に対し、故障検出回路の記述を付加した回路記述の一例を示す図である。 図8の回路記述に故障検出回路の記述を付加した場合に出力される回路付加結果の一例を示す図である。 本発明の実施の形態2における、クロック信号とイネーブル信号が同じレジスタ群に対し、1つのパリティチェック回路を付加した論理回路の一例を示すブロック図である。 本発明の実施の形態2における、1つのレジスタ群に対し、2つのパリティチェック回路を付加してその比較信号の論理和を取る構成とした論理回路の一例を示すブロック図である。 本発明の実施の形態3における、図1で示す故障検出回路の生成処理のフローチャートに故障検出回路データベースを追加したフローチャートを示す図である。 本発明の実施の形態3における、故障検出回路データベースに登録されているデータ内容の一例を示すテーブル図である。
符号の説明
1…回路構造の解析処理、2…ディレイ解析処理、3…故障検出回路の生成処理、11…論理回路データ、12…ディレイ情報、13…制約条件、14…故障検出回路付き論理回路データ、15…故障検出回路データベース、21,31,32…論理回路、22,
23…組み合わせ回路、51,52,53,54,82…レジスタ群、71,76,209,312…パリティチェック回路、72,74,77,79…排他的論理和回路、73,78…レジスタ、75,80,83…比較回路、81…レジスタ多重化回路、91…ECC回路、131…パリティ多重化回路、501,502…回路記述、503…回路付加結果、511…故障検出回路テーブル。

Claims (9)

  1. 論理回路が稼動中に発生した故障を検出するための故障検出回路をコンピュータに生成させるプログラムにおいて、
    前記論理回路内にあるレジスタの故障を検出する故障検出回路を生成する機能、
    前記論理回路内にある各レジスタ間パスのディレイ値を計算する機能、
    生成された前記故障検出回路のディレイ値に、前記レジスタ間パスのディレイ値を加えて合計ディレイ値が前記論理回路に対するディレイ制約条件に収まらない場合は、別の故障検出回路が生成され、前記ディレイ制約条件に収まった故障検出回路を前記論理回路に付加する機能、
    同一のイネーブル信号が入力され、同一のクロック信号に同期して動作する複数の前記レジスタが前記論理回路内にある場合に、前記レジスタ群に対して1種類の前記故障検出回路を生成し、前記論理回路に付加する機能を備えたことを特徴とする故障検出回路をコンピュータに生成させるプログラム。
  2. 請求項1に記載の故障検出回路をコンピュータに生成させるプログラムにおいて、
    前記故障検出回路として、パリティチェック回路,誤り訂正回路,レジスタ多重化回路又はパリティ多重化回路の回路が選択され、前記論理回路に付加することを特徴とする故障検出回路をコンピュータに生成させるプログラム。
  3. 請求項1またはに記載の故障検出回路をコンピュータに生成させるプログラムにおいて、
    生成された前記故障検出回路が前記論理回路に付加できた場合は付加できた論理箇所と前記故障検出回路の種類を出力し、付加できなかった場合は付加できなかった論理箇所と前記故障検出回路の種類を出力することを特徴とする故障検出回路をコンピュータに生成させるプログラム。
  4. 請求項に記載の故障検出回路をコンピュータに生成させるプログラムにおいて、
    同一のクロック信号と同一のイネーブル信号に同期して動作する複数のレジスタが前記論理回路内にある場合に、前記レジスタ群に対して1種類の前記故障検出回路を生成し、前記論理回路に付加する機能を備えたことを特徴とする故障検出回路をコンピュータに生成させるプログラム。
  5. 請求項1に記載の故障検出回路をコンピュータに生成させるプログラムにおいて、
    前記論理回路の面積を計算し、
    前記論理回路の面積値と、前記論理回路に対する面積制約を有し、
    生成された前記故障検出回路の面積値に、前記論理回路の面積値を加えた合計面積値が論理回路の面積制約条件に収まらない場合は、別の故障検出回路が生成され、前記面積制約に収まった故障検出回路を前記論理回路に付加する機能を備えたことを特徴とする故障検出回路をコンピュータに生成させるプログラム。
  6. 請求項1に記載の故障検出回路をコンピュータに生成させるプログラムにおいて、
    前記論理回路の消費電力を計算し、
    前記論理回路の消費電力値と、前記論理回路に対する消費電力制約を有し、
    生成された前記故障検出回路の消費電力値に、前記論理回路の消費電力値を加えた合計消費電力値が論理回路の消費電力制約に収まらない場合は、別の故障検出回路が生成され、前記消費電力制約に収まった故障検出回路を前記論理回路に付加する機能を備えたことを特徴とする故障検出回路をコンピュータに生成させるプログラム。
  7. 請求項1に記載の故障検出回路をコンピュータに生成させるプログラムにおいて、
    前記論理回路内にあるレジスタの故障を検出する故障検出回路を生成する機能、
    前記論理回路の面積を計算し、
    前記論理回路の面積値と、前記論理回路に対する面積制約を有し、
    生成された前記故障検出回路の面積値に、前記論理回路の面積値を加えた合計面積値が論理回路の面積制約条件に収まらない場合は、別の故障検出回路が生成され、前記面積制約に収まった故障検出回路を前記論理回路に付加する機能を備えたことを特徴とする故障検出回路をコンピュータに生成させるプログラム。
  8. 請求項1に記載の故障検出回路をコンピュータに生成させるプログラムにおいて、
    前記論理回路内にあるレジスタの故障を検出する故障検出回路を生成する機能、
    前記論理回路の消費電力を計算し、
    前記論理回路の消費電力値と、前記論理回路に対する消費電力制約を有し、
    生成された前記故障検出回路の消費電力値に、前記論理回路の消費電力値を加えた合計消費電力値が論理回路の消費電力制約に収まらない場合は、別の故障検出回路が生成され、前記消費電力制約に収まった故障検出回路を前記論理回路に付加する機能を備えたことを特徴とする故障検出回路をコンピュータに生成させるプログラム。
  9. 請求項1に記載の故障検出回路をコンピュータに生成させるプログラムにおいて、
    論理回路が稼動中に発生した故障を検出するための故障検出回路の回路記述および前記
    故障検出回路のディレイ値が記載されたデータファイルと、前記論理回路内にある各レジスタ間パスのディレイ値とを用いて、
    前記レジスタ間パスの前記ディレイ値に前記データファイルに記載された故障検出回路のディレイ値を加えたディレイ値が前記論理回路に対するディレイ制約条件に収まるような故障検出回路を前記データファイルから選択し、前記論理回路に付加する機能を備えたことを特徴とする故障検出回路をコンピュータに生成させるプログラム。
JP2006051477A 2006-02-28 2006-02-28 論理回路の故障検出回路の生成方法およびその装置 Expired - Fee Related JP4600313B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006051477A JP4600313B2 (ja) 2006-02-28 2006-02-28 論理回路の故障検出回路の生成方法およびその装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006051477A JP4600313B2 (ja) 2006-02-28 2006-02-28 論理回路の故障検出回路の生成方法およびその装置

Publications (2)

Publication Number Publication Date
JP2007233496A JP2007233496A (ja) 2007-09-13
JP4600313B2 true JP4600313B2 (ja) 2010-12-15

Family

ID=38554062

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006051477A Expired - Fee Related JP4600313B2 (ja) 2006-02-28 2006-02-28 論理回路の故障検出回路の生成方法およびその装置

Country Status (1)

Country Link
JP (1) JP4600313B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05100877A (ja) * 1991-10-04 1993-04-23 Fujitsu Ltd パリテイ反転試験方式
JPH0644336A (ja) * 1992-07-22 1994-02-18 Hitachi Ltd 故障検出回路の生成方法および生成装置
JP2002032423A (ja) * 2000-07-13 2002-01-31 Hitachi Ltd テスト容易性考慮論理合成方法及びシステム
JP2004234770A (ja) * 2003-01-31 2004-08-19 Renesas Technology Corp 半導体記憶装置とテスト方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05100877A (ja) * 1991-10-04 1993-04-23 Fujitsu Ltd パリテイ反転試験方式
JPH0644336A (ja) * 1992-07-22 1994-02-18 Hitachi Ltd 故障検出回路の生成方法および生成装置
JP2002032423A (ja) * 2000-07-13 2002-01-31 Hitachi Ltd テスト容易性考慮論理合成方法及びシステム
JP2004234770A (ja) * 2003-01-31 2004-08-19 Renesas Technology Corp 半導体記憶装置とテスト方法

Also Published As

Publication number Publication date
JP2007233496A (ja) 2007-09-13

Similar Documents

Publication Publication Date Title
JP6050083B2 (ja) 半導体装置
Krishnaswamy et al. Enhancing design robustness with reliability-aware resynthesis and logic simulation
JP4540540B2 (ja) 遅延計算装置
JP4147842B2 (ja) 論理検証システム及び方法、論理コーン抽出装置及び方法、論理検証及び論理コーン抽出プログラム
US9305125B2 (en) Integrated circuit design timing path verification tool
JP4586864B2 (ja) プロパティ自動生成装置
JP5040758B2 (ja) シミュレーション装置、シミュレーション方法及びプログラム
US20110295536A1 (en) Clock jitter analyzing method and apparatus
JP4600313B2 (ja) 論理回路の故障検出回路の生成方法およびその装置
Wang et al. On probability of detection lossless concurrent error detection based on implications
JP5830955B2 (ja) 検証装置、検証方法及び検証プログラム
JP2010073136A (ja) ホールドタイムエラーの収束方法、収束装置、及び収束プログラム
JP5259082B2 (ja) 一致検証方法及び装置
May et al. A rapid prototyping system for error-resilient multi-processor systems-on-chip
US9991008B2 (en) Systems and methods for analyzing soft errors in a design and reducing the associated failure rates thereof
JP2009093635A (ja) 回路検証方法、及び回路検証プログラム、回路検証装置
JP2011070343A (ja) 論理エミュレーション方法及び論理エミュレーションプログラム
US11023633B2 (en) High-level synthesis method, high-level synthesis apparatus, and high-level synthesis system
JP2008243092A (ja) マルチサイクルパス検出装置、マルチサイクルパス検出方法及びマルチサイクルパス検出プログラム
CN110750956B (zh) 逻辑闸阶层验证方法以及验证系统
Kuo et al. Symbiotic controller design using a memory-based FSM model
JP2002259488A (ja) クロックスキュー検証方法
JP6303509B2 (ja) 回路検証方法、及び回路検証プログラム
JP5729546B2 (ja) 半導体設計支援装置、タイミング制約生成方法、およびプログラム
Wang et al. An implication-based test scheme for both diagnosis and concurrent error detection applications

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080312

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100518

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100625

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100831

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100913

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131008

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131008

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees