(57)【特許請求の範囲】
【請求項１】
ネットリスト入力部と回路情報が蓄積されたすライブラリと検証ルールが記憶された検証ルール記憶部と前記検証ルールに基づいて判定を行う検証部とを有する設計装置により半導体集積回路の設計を行う設計方法において、
前記ネットリスト入力部から入力されたネットリストに基づいて前記検証部が、トライステートセルの出力端子が複数個共通接続されている箇所を抽出する工程と、
前記検証部が、前記抽出したトライステートセルのコントロール端子に接続されている回路から前記コントロール端子への入力が排他であるか否かを判定する工程と、
前記検証部が、排他にならない場合のうち全てのトライステートセルの出力端子がハイインピーダンス状態を出力している場合には前記共通接続箇所にハイインピーダンス状態が発生すると検出する工程とを含むことを特徴とする論理回路検証方法。
【請求項２】
前記検証部が、請求項１に記載の論理回路検証方法において、前記のハイインピーダンス状態として検出した箇所に対しハイインピーダンス状態回避回路を挿入することによりハイインピーダンス状態を回避することを特徴とする貫通電流改善方法。
【請求項３】
前記検証部が、前記回路変更において、前記のハイインピーダンス状態として検出した箇所にバスホールド回路を挿入することにより回路変更を行うことを特徴をする請求項２に記載の貫通電流改善方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子回路の設計を支援するためのＣＡＤ装置等に用いられ、作成された電子回路における論理回路が規約に従った正しい接続を行っているか否かを検証する論理回路検証方法、ならびに貫通電流改善方法に関するものである。
【０００２】
【従来の技術】
近年、半導体のチップ規模は飛躍的に上昇し、半導体集積回路を開発するに当たってはＣＡＤ装置を用いて行うのが主流となっている。更に、接続規約を人手でチェックするのは非常に困難であり、自動で検証を行うＣＡＤ装置を用いた手法が提唱されている（特開平１０−３３４１２４号公報参照）。
【０００３】
この従来の論理回路検証装置においては、論理回路図作成装置で作成された回路図から論理回路の接続状態を示したネットリストを抽出し、それをネットリスト入力部に入力し、検証部へ論理回路の接続情報を伝えている。
【０００４】
また、ハイインピーダンス制御の情報を持ったライブラリをライブラリ入力部に入力し、フローチャートに従いトライステートピンが直接電源又はグランド接続をしているか、次段の接続が単独か否かを判断した上でショートおよびフローティングの判断を行い、各論理回路ごとの情報を検証部へ伝える。それらをもとに検証部では、検証ルール記憶領域に保存されている検証ルールに基づき、回路図中の論理回路の接続状態が規約に従ったものかどうかを判定し、その結果をエラー／ワーニング出力部から出力している。
【０００５】
【発明が解決しようとする課題】
しかし、このような従来の論理回路検証方法、貫通電流検証方法では、フローティングおよびショートチェックを行う場合に、前段のトライステートセルの出力端子を持つセルのコントロール端子が電源又はグランドに直接に接続されている必要がある。したがって、このコントロール端子に接続される前々段等回路の上流で電位固定されている場合等でも、コントロール端子が直接に電位固定されていないため、全てフローティングエラーとして扱われ、これは擬似エラーである可能性があるため、設計者が回路的に問題回避している場合には、擬似エラーか否かを目視で判別する必要がある。
【０００６】
また、ハイインピーダンス状態を出力する端子が存在した場合でも、その信号を受ける側の構造によっては貫通電流が流れず、回路的に問題にならない可能性があるにも関わらず、全てフローティングエラーとして扱うので、これも擬似エラーである可能性があるため、前記同様に擬似エラーか否かを設計者が目視で判別する必要があった。
【０００７】
以上のように、トライステートセルの出力端子を持つ回路のコントロール端子が直接に電位固定されていない場合には、次段のセルの構成に関わらず、全てフローティングエラーとして認識されるため、擬似エラーか否かの確認を目視で実施する必要が生じ、設計期間の長期化および作業効率の低下を招いていた。
【０００８】
本発明は、従来目視でチェックせざるを得なかったトライステートセルの出力端子を持つセルのコントロール端子が直接に電位固定されていない場合にも、自動でエラー判定を行うことができ、かつハイインピーダンス状態の出力を受ける側の構成を自動認識して、ハイインピーダンス状態の場合に問題となる構成を自動で検出することにより設計期間の短縮および効率化を図り、作業効率の向上を実現できる論理回路検証方法および貫通電流検証方法を提供することを目的とする。併せて、貫通電流改善方法を提案する。
【０００９】
【課題を解決するための手段】
論理回路検証方法についての本発明は、次のような手段を講じることにより、上記の課題を解決する。すなわち、ネットリスト入力部と回路情報が蓄積されたすライブラリと検証ルールが記憶された検証ルール記憶部と前記検証ルールに基づいて判定を行う検証部とを有する設計装置により半導体集積回路の設計を行う設計方法において、前記ネットリスト入力部から入力されたネットリストに基づいて前記検証部が、トライステートセルの出力端子が複数個共通接続されている箇所を抽出する工程と、前記検証部が、前記抽出したトライステートセルのコントロール端子に接続されている回路から前記コントロール端子への入力が排他であるか否かを判定する工程と、前記検証部が、排他にならない場合のうち全てのトライステートセルの出力端子がハイインピーダンス状態を出力している場合には前記共通接続箇所にハイインピーダンス状態が発生すると検出する工程とを含むものである。
【００１０】
この場合、前記複数個のトライステートセルのコントロール端子に繋がる回路を抽出し、コントロール端子に入力される信号の組み合わせで、全てのトライステートセルからの出力がハイインピーダンス状態になる場合には、共通接続された箇所がハイインピーダンス状態になるとして、ハイインピーダンス状態発生箇所を検出する。
【００１１】
これにより、トライステートセルの出力端子が複数個共通接続されている状況において、ハイインピーダンス状態発生箇所を正しく検証することができる。その結果として、事後の、ハイインピーダンス状態を回避するための処理や、実際に貫通電流が発生しないかどうかをチェックする処理へスムーズに移行することが可能になる。
【００４２】
また、貫通電流改善方法についての本発明は、検証部が、上記の論理回路検証方法において、ハイインピーダンス状態として検出した箇所に対しハイインピーダンス状態回避回路を挿入することによりハイインピーダンス状態を回避するであり、さらに、好ましくは、検証部が、前記の回路変更において、ハイインピーダンス状態として検出した箇所にバスホールド回路を挿入することにより回路変更を行うことである。
【００４３】
バスホールド回路を挿入することで、ハイインピーダンス状態になる前の信号状態を保持することができるようになる。それにより貫通電流の発生を抑えることができる。
【００４４】
【発明の実施の形態】
以下、本発明にかかわる論理回路検証方法および貫通電流検証方法の実施の形態について図面に基づいて詳細に説明する。
【００４５】
（第１の実施の形態）
図１に示すフローに基づき、本発明の第１の実施の形態を説明する。
【００４６】
ステップＳ１０１において、トライステートセルの出力端子が共通接続されている箇所を抽出する。その抽出した結果を図２に示す。
【００４７】
図２中の点線で囲まれたＧ１０１、Ｇ１０２はトライステートインバータ、Ｃ１０１、Ｃ１０２はコントロール端子である。トライステートインバータは、コントロール端子に“High”の入力があったときは普通のインバータとして機能し、“Low”の入力があったときは出力がハイインピーダンス状態（Ｈiz）の状態になる。
【００４８】
図２に示す抽出された回路では、トライステートインバータＧ１０１、Ｇ１０２の出力端子が２個共通接続されている。
【００４９】
次に、ステップＳ１０２において、ステップＳ１０１で抽出したトライステートセルのコントロール端子Ｃ１０１、Ｃ１０２に繋がる回路を抽出する。
【００５０】
図３に示すのは、ステップＳ１０１で抽出した回路において、トライステートインバータＧ１０１、Ｇ１０２のコントロール端子Ｃ１０１、Ｃ１０２に繋がる回路を抽出した結果である。ＩＮ１０１、ＩＮ１０２は、トライステートインバータＧ１０１、Ｇ１０２のコントロール端子Ｃ１０１、Ｃ１０２に繋がる回路Ｇ１０３、Ｇ１０４への入力端子を表す。Ｇ１０３はインバータ、Ｇ１０４はＮＯＲゲートを表している。
【００５１】
次に、ステップＳ１０３において、トライステートセルのコントロール端子に入力する信号のチェックを行う。図３において、入力端子ＩＮ１０１、ＩＮ１０２への入力がともに“High”であるときには、トライステートインバータＧ１０１、Ｇ１０２のコントロール端子Ｃ１０１、Ｃ１０２への入力はいずれも“Low”になることが分かる。
【００５２】
次に、ステップＳ１０４において、出力端子が共通接続の複数個のトライステートセルにおけるコントロール端子への入力が排他になっていないかどうかを判断する。
【００５３】
図３の回路の例では、トライステートインバータＧ１０１、Ｇ１０２のコントロール端子Ｃ１０１、Ｃ１０２への入力はいずれも“Low”であり、排他になっていないことが分かる。
【００５４】
次に、ステップＳ１０５において、排他になっていないコントロール端子への入力について、ステップＳ１０１で抽出した全てのトライステートセルの出力がハイインピーダンス状態になっていないかをチェックする。
【００５５】
図３に示した回路では、抽出した回路中の２つのトライステートインバータＧ１０１、Ｇ１０２の出力がいずれもハイインピーダンス状態となり、それら２つの出力が共通接続された箇所がハイインピーダンス状態発生箇所として検出される。
【００５６】
２つのトライステートインバータＧ１０１、Ｇ１０２は、ともにそのコントロール端子Ｃ１０１、Ｃ１０２が直接に電位固定されていない。このような場合、従来技術にあっては、無条件にすべてフローティングエラーと判定してしまい、擬似エラーを含む要因になっていた。
【００５７】
これに対して、本実施の形態によれば、実際のハイインピーダンス状態発生箇所に限って、その箇所をハイインピーダンス状態発生箇所と正しく判定し、実際にはハイインピーダンス状態発生箇所ではない箇所については、ハイインピーダンス状態発生箇所でないと判定する。すなわち、擬似エラーの発生を回避することができる。
【００５８】
ハイインピーダンス状態発生箇所の検証において、擬似エラーを回避することができるので、これ以降のハイインピーダンス状態を回避するための処理、および、実際に貫通電流が発生しないかどうかのチェックを合理的かつ効率的に遂行することが可能になる。すなわち、設計期間の短縮および効率化が図れ、作業効率の向上を実現することができる。
【００５９】
（第２の実施の形態）
次に、本発明の第２の実施の形態における論理回路検証方法について図面を用いて説明する。
【００６０】
図４は本発明の第２の実施の形態における論理回路検証装置の概略構成を示すブロック図である。図４において、４１はＣＡＤ装置本体からなる論理回路図作成装置、４２は論理回路相互間の接続情報を示すネットリストを入力するネットリスト入力部、４３は論理回路の回路情報を示すライブラリを入力するライブラリ入力部、４４は検証部、４５は検証部４４の検証結果を出力するエラー／ワーニング出力部、４６は論理回路の検証ルールを記憶した検証ルール記憶領域である。
【００６１】
この実施の形態における特徴は、ライブラリ入力部４３へ入力するライブラリにトランジスタレベルの接続情報を入力し、検証部４４において、検証ルール記憶領域４６に記憶されている検証ルールに基づき、トライステートセルの出力端子からハイインピーダンス状態が出力される可能性があるセルの次段の入力ピンに対して、トランジスタの接続検証処理を行い、ハイインピーダンス状態が入力された場合に貫通電流が流れる構造を有しているセルに対してフローティング判定を行うようにしたことにある。
【００６２】
以下、図５を参照しながら、ハイインピーダンス状態を受けるセルの検証方法について詳細に説明する。
【００６３】
図５は検証部４４における処理を示すフローチャートである。これは、トライステートセルの出力端子を持つセルからハイインピーダンス状態が出力される可能性がある場合に、その信号を受ける側のセルの検証方法を示すものである。
【００６４】
検証部４４では、まず、トライステートセルの出力端子を有するセルを検出する（ステップＳ５１）。
【００６５】
次に、そのコントロール端子が直接に電位固定されておらず、ハイインピーダンス状態を出力する可能性のあるセルを検出する（ステップＳ５２）。
【００６６】
ここで、全てのトライステートセルの出力端子を持つセルが、ハイインピーダンス状態を出力する可能性が無ければ、通常の出力端子の接続チェックを行う（ステップＳ５３）。
【００６７】
ステップＳ５２によってハイインピーダンス状態を出力する可能性があると判定されたセルに対し、その次段に接続されているセルに着目する。トランジスタレベルのセルライブラリから着目セルを取り出し、この着目セルの入力端子に接続されているトランジスタ集合１を検出する（ステップＳ５４）。
【００６８】
次に、ステップＳ５４で検出されたトランジスタ集合１からｐ型トランジスタとｎ型トランジスタとのトランジスタ対でかつ互いの一端子同士すなわちドレイン端子とソース端子が接続されているトランジスタ対のリストを作成する（ステップＳ５５）。
【００６９】
次に、ステップＳ５５で検出された一端子（ドレインおよびソース）が互いに接続されているトランジスタ対のもう一方の端子の接続先を調べ、電源およびグランドに直接に接続されているか否かを判別する（ステップＳ５６）。
【００７０】
ステップＳ５６において、電源およびグランドに直接に接続されている端子を持つトランジスタ対が１つも存在しない場合は、ハイインピーダンス状態が入力された場合でも貫通電流が流れることは無いため、通常の接続チェック（ステップＳ５３）を行う。
【００７１】
また、１対でも電源およびグランドに直接に接続されているトランジスタ対が存在した場合、この端子がハイインピーダンス状態になると貫通電流が流れるため、フローティングエラーを出力する（ステップＳ５７）。
【００７２】
以上のように第２の実施の形態によると、論理回路検証処理において、トライステートセルの出力端子を持つ回路のコントロール端子が直接に電位固定されていない場合に、ハイインピーダンス状態の入力があっても、次段のセルの構成に応じてフローティングエラーの判定を行うので、従来、擬似エラーであったものをエラーでないと明確に認識することができ、事後の目視確認を不要化することができる。したがって、設計期間の短縮と作業効率の向上を図ることができる。
【００７３】
また、トランジスタレベルのセル情報、例えばＳＰＩＣＥネットリスト等、既存のライブラリのみを使用するため、設計フローに容易に組込むことができる。
【００７４】
（第３の実施の形態）
次に、本発明の第３の実施の形態における論理回路検証方法について図面を用いて説明する。
【００７５】
図６は図４のライブラリ入力部４３へ入力するライブラリに情報を追加するためのフローチャートである。また、図７はセル中のトランジスタの接続例を示すもので、図８は図４の検証部４４におけるハイインピーダンス状態が出力される場合にその信号を受ける側のセルの検証方法を示すフローチャートである。
【００７６】
まず、ライブラリ入力部４３へ入力するライブラリに、ハイインピーダンス状態で問題が発生するセルと入力端子の情報を追加するために、セルライブラリ中の全セルに関して、各入力端子に接続しているトランジスタの検出を行い、トランジスタ集合１の情報を作成する（ステップＳ６１）。
【００７７】
次に、トランジスタ集合１からｐ型トランジスタとｎ型トランジスタとのトランジスタ対で互いのトランジスタの１端子同士すなわちドレイン端子とソース端子が接続しているトランジスタ対のリストを作成する（ステップＳ６２）。
【００７８】
ここで作成されたトランジスタ対のリストのうち、互いに接続している端子ともう一方の端子が電源およびグランドに直接に接続されているか否かの判定を行う（ステップＳ６３）。
【００７９】
ステップＳ６３において、電源およびグランドに直接に接続されている端子を持つトランジスタ対が１つも存在しない場合は、ハイインピーダンス状態が入力された場合でも貫通電流が流れることは無いため、入力端子にハイインピーダンス状態でも問題無いピンとして、セルライブラリ情報に追加する（ステップＳ６４）。
【００８０】
また、各入力端子に接続するトランジスタ対リストのうち１対でも電源およびグランドに直接に接続されているトランジスタ対が存在する場合、この端子がハイインピーダンス状態になると貫通電流が流れるため、ハイインピーダンス状態の入力に対してフローティングエラーとなる情報をセルライブラリに追加する（ステップＳ６５）。
【００８１】
次に、図６中のステップＳ６３における接続判定について、図７を用いて例を挙げて説明する。
【００８２】
例えば、図７の（ａ）および（ｂ）のようなトランジスタの接続情報を持つセルがライブラリ中に存在した場合で説明する。
【００８３】
図７（ａ）の場合、入力端子Ａに接続されるのはｐ型トランジスタとｎ型トランジスタが１つずつで、且つ、その端子同士がＯＵＴ端子で接続されている。また、互いに接続されている端子の他方の端子が電源およびグランドに直接に接続されている。そのため、入力端子Ａがハイインピーダンス状態で貫通電流が流れることになる。したがって、ハイインピーダンス状態の入力時にフローティングエラーとなる情報をライブラリに追加する。
【００８４】
また、図７（ｂ）の場合は、入力端子Ａと入力端子Ｂの２つがあり、入力端子Ａに接続されるトランジスタは図７（ａ）と同様に貫通電流が流れる構造であるためエラーとなる情報を追加する。
【００８５】
入力端子Ｂに接続されるトランジスタはｐ型トランジスタとｎ型トランジスタとで互いに接続される端子を持つトランジスタ対は１つ存在し（ＱP1とＱN1）、その一方のトランジスタＱP1の他方の端子が一方は電源に接続されているが、もう一方のトランジスタＱN1の他方の端子が直接にグランドに接続されていないため、貫通電流が流れるとは判断されない。
【００８６】
次に、図８のフローチャートを用いてハイインピーダンス状態が出力される場合に、その信号を受ける側のセルの検証方法について説明する。
【００８７】
まず、回路の接続情報を持つネットリストを読み込み、トライステートセルの出力端子を持つセルを検出する（ステップＳ８１）。
【００８８】
次に、検出されたセルがハイインピーダンス状態の出力を出す可能性があるか判別する（ステップＳ８２）。
【００８９】
ハイインピーダンス状態を出力する可能性が無い場合は、貫通電流検出処理を終了する。
【００９０】
ハイインピーダンス状態を出力する可能性がある場合は、次段に接続されるセルおよび入力端子を調べ、ハイインピーダンス状態の入力時に貫通電流が流れるか否かの情報を持つライブラリと照合処理を行い、セルおよびピンが適合した場合はフローティングエラーを出力する（ステップＳ８３）。
【００９１】
ステップＳ８３の処理を第２の実施の形態の場合と比較すると、図５のステップＳ５４、Ｓ５５、Ｓ５６が省略されたものに相当し、大幅な簡略化が行われている。
【００９２】
以上のように第３の実施の形態によると、論理回路検証処理において、あらかじめ、トランジスタレベルのセル情報からハイインピーダンス状態の入力で貫通電流が流れる端子を判別し、ライブラリ化しておくことにより、貫通電流が流れるか否かの検証処理時間を第２の実施の形態よりも短縮することができ、設計期間を更に短縮することができる。
【００９３】
（第４の実施の形態）
図９〜図１３は、本発明の第４の実施の形態を示す。
【００９４】
図９は、第４の実施の形態の貫通電流検証方法を示すフローチャートである。図９において、３０１は半導体集積回路を構成しているセルの接続関係が記入されているネットリストである。３０２はインバータセルの入力が、１、０、ハイインピーダンス状態に変化した場合に、ｐ型トランジスタおよびｎ型トランジスタが駆動するかしないかを、それぞれＯＮ、ＯＦＦで記述しているトランジスタスイッチング表である。３０３はセル内部のトランジスタの接続関係を記述しているセル内部ネットリストである。３０４は２個の入力ピンをもつ場合の貫通電流が流れる入力パターンを示した貫通電流入力パターンである。
【００９５】
図１０はトランジスタスイッチング表３０２の内容を示す図である。
【００９６】
図１１（ａ）は２入力ＮＡＮＤセルのトランジスタ構成を示す図である。図１１（ｂ）は２入力ＮＯＲセルのトランジスタ構成を示す図である。
【００９７】
図１２は２入力ＮＡＮＤの場合におけるトランジスタの構造を解析した結果を示す図である。
【００９８】
縦積み構造は、ｐ型トランジスタまたはｎ型トランジスタが直列に接続されている構造として定義する。横積み構造は、ｐ型トランジスタまたはｎ型トランジスタが並列に接続されている構造として定義する。
【００９９】
ｎ型トランジスタの縦積み構造の例はＮＡＮＤセルである。ｐ型トランジスタの縦積み構造の例はＮＯＲセルである。
【０１００】
図１３は貫通電流入力パターン３０４の内容を示した図である。図１３（ａ）は、２入力のセルにおけるｎ型トランジスタが縦積み構造の場合の貫通電流入力パターンである。図１３（ｂ）は、２入力のセルにおけるｐ型トランジスタが縦積み構造の場合の貫通電流入力パターンである。
【０１０１】
次に、図９から図１３を用いて、２入力ＮＡＮＤセルを例に挙げて貫通電流検証方法を説明する。
【０１０２】
図９のステップＳ３０１のセル抽出工程では、ネットリスト３０１からトライステートセルを探索し、そのトライステートセルの出力端子に接続しているセル(以後、検証対象セルと呼ぶ)を抽出する。
【０１０３】
ステップＳ３０２のトランジスタスイッチング表作成工程では、トランジスタスイッチング表３０２を作成する。
【０１０４】
図１０に例示するように、インバータセルの入力値が１の場合は、ｎ型トランジスタが駆動して、ｐ型トランジスタは駆動しない。インバータセルの入力値が０の場合は、ｎ型トランジスタが駆動しないで、ｐ型トランジスタが駆動する。インバータセルの入力値がハイインピーダンス状態の場合は、ｎ型トランジスタ、ｐ型トランジスタがともに駆動する。
【０１０５】
このような考え方で、図９のステップＳ３０２では、入力値に応じてトランジスタが駆動するか否かを表したトランジスタスイッチング表３０２を作成する。
【０１０６】
ステップＳ３０３のセル構造解析工程では、前記の抽出した検証対象セルのセル内部ネットリスト３０３を入力して、入力ピン毎にトランジスタが縦積み構造になっているトランジスタがｎ型トランジスタかｐ型トランジスタかを判断する。
【０１０７】
縦積み構造のトランジスタを判断する理由は、直列に接続しているトランジスタが駆動状態でなければ貫通電流が流れないからである。
【０１０８】
抽出した検証対象セルが、入力ピンとしてａピン、ｂピンを持つ２入力ＮＡＮＤであれば、図１１（ａ）に示すように、ａピン、ｂピン両方ともｎ型トランジスタが縦積み構造となる。よって、ｎ型トランジスタが縦積み構造であることを記憶しておく。
【０１０９】
ステップＳ３０４の貫通電流入力パターン抽出工程では、縦積み構造のトランジスタが駆動する入力値を、トランジスタスイッチング表３０２から参照して、抽出セルが所有する入力ピンがハイインピーダンス状態になる場合の貫通電流入力パターンを作成する。
【０１１０】
抽出セルが２入力ＮＡＮＤであると、ｎ型トランジスタが縦積み構造であるので、ａピンにハイインピーダンス状態が入力されると、ｂピンはトランジスタスイッチング表３０２のｎ型トランジスタが駆動する条件である入力値１となるのが、貫通電流を流す貫通電流入力パターンとなる。
【０１１１】
具体的には次のとおりである。
【０１１２】
図１１（ａ）に示す２入力ＮＡＮＤが貫通電流を流すのは、ｐ型トランジスタＱP3、ｎ型トランジスタＱN3、ＱN4が同時にＯＮになる場合と、ｐ型トランジスタＱP4、ｎ型トランジスタＱN3、ＱN4が同時にＯＮになる場合とである。
【０１１３】
前者の場合、ａピンがハイインピーダンス状態の入力であると、ｐ型トランジスタＱP3、ｎ型トランジスタＱN3が同時ＯＮになるので、あとは、ｎ型トランジスタＱN4が同時ＯＮとなれば該当することになるが、それはｂピンの入力値が１のときである。
【０１１４】
後者の場合、ｂピンがハイインピーダンス状態の入力であると、ｐ型トランジスタＱP4、ｎ型トランジスタＱN4が同時ＯＮになるので、あとは、ｐ型トランジスタＱP3が同時ＯＮとなれば該当することになるが、それはａピンの入力値が１のときである。
【０１１５】
したがって、図１３（ａ）が２入力ＮＡＮＤの貫通電流入力パターンとなる。
【０１１６】
図９に戻って、ステップＳ３０５の貫通電流検証工程では、抽出した検証対象セルの入力ピンが貫通電流入力パターン３０４に該当することがあるかを確認する。検証対象セルが２入力ＮＡＮＤであれば、入力ピンが図１３（ａ）に示す２種類の入力パターンになることがあるかを確認すればよい。すなわち、確認する入力パターンは、ａピンがハイインピーダンス状態であると同時にｂピンが入力値１になる場合と、ｂピンがハイインピーダンス状態であると同時にａピンが入力値１になる場合とであり、これらの場合には貫通電流が流れ、そうでない場合には貫通電流は流れない。
【０１１７】
以上のように、本実施の形態によれば、トランジスタスイッチング表から貫通電流入力パターンを作成することにより、抽出した検証対象セルの入力ピンが貫通電流入力パターンになることがあるか（貫通電流が流れるか）を、回路シミュレーションを行うことなく、高速に確認することが可能となる。
【０１１８】
（第５の実施の形態）
図１７は、本発明の第５の実施の形態の貫通電流検証方法を示すフローチャートである。同図中の３１１は、半導体集積回路で使用されると予想される全てのセルの貫通電流入力パターンを格納した全セルの貫通電流入力パターンである。また、Ｓ３０１〜Ｓ３０５は第４の実施の形態と同じ工程を示す。
【０１１９】
次に、第５の実施の形態の貫通電流検証方法について、図１４を用いて以下に説明する。
【０１２０】
第４の実施の形態と異なるのは、抽出した検証対象セルを決めてから貫通電流入力パターン３０４を作成するのではなく、半導体集積回路に含まれる全てのセルの貫通電流入力パターン３１１をあらかじめ作成しているところである。
【０１２１】
ステップＳ３１１の貫通電流入力パターン作成セル選択工程では、半導体集積回路に使用されると予想されるセル群の中から貫通電流入力パターンを作成すべきセルを検証候補セルとして選択する。
【０１２２】
全てのセルにおいて貫通電流入力パターンを作成したかを判断するステップＳ３１２では、セル群の中の全セルで貫通電流入力パターンを作成するまで、ステップＳ３１１の貫通電流入力パターン作成セル選択工程、ステップＳ３０３のセル構造解析工程およびステップＳ３０４の貫通電流入力パターン抽出工程を繰り返す。
【０１２３】
ステップＳ３１３の貫通電流入力パターン選択工程では、全セルの貫通電流入力パターン３１１から、ステップＳ３０１による抽出された検証対象セルの貫通電流入力パターンを選択する。
【０１２４】
以上のように、本実施の形態によれば、トランジスタスイッチング表から、あらかじめ、セル群の全てのセルの貫通電流入力パターンを作成することにより、検証対象セルの入力ピンが貫通電流入力パターンになることがあるかを、回路シミュレーションを行うことなく、高速に確認することが可能となる。
【０１２５】
図１５はハイインピーダンス状態の発生した部分を示す。Ｇ４０１,Ｇ４０２はトライステートインバータで、それぞれの出力が共通接続されている。ネットＮ４０１は、ハイインピーダンス状態になったネットを示す。
【０１２６】
図１６は、ハイインピーダンス状態の発生箇所に、ハイインピーダンス状態回避回路Ｋ４０１を挿入した結果である。ハイインピーダンス状態回避回路Ｋ４０１の出力がハイインピーダンス状態でないようにすれば、ハイインピーダンス状態を回避することが可能である。
【０１２７】
図１７は、ハイインピーダンス状態の発生箇所に、バスホールド回路Ｋ４０２を挿入した結果である。これにより、バスホールド回路Ｋ４０２には、ハイインピーダンス状態になる以前の情報が保持されるため、ネットＮ４０１へ出力される信号がハイインピーダンス状態になったとしても、バスホールド回路Ｋ４０２以降の部分では、ハイインピーダンス状態が発生しない。
【０１２８】
【発明の効果】
以上説明したように、論理回路検証方法についての本発明によれば、トライステートセルの出力端子が複数個共通接続されている状況において、ハイインピーダンス状態発生箇所を正しく検証することができる。その結果として、事後の、ハイインピーダンス状態を回避するための処理や、実際に貫通電流が発生しないかどうかをチェックする処理へスムーズに移行することができるようになる。
【０１３４】
また、貫通電流改善方法についての本発明によれば、ハイインピーダンス状態が発生する箇所に対しハイインピーダンス状態を回避する回路、例えばバスホールド回路を挿入することで、ハイインピーダンス状態になる前の信号状態を保持することができるようになり、ハイインピーダンス状態を回避することができるようになる。それにより貫通電流の発生を抑えることができる。
【図面の簡単な説明】
【図１】  本発明の第１の実施の形態における論理回路検証方法のハイインピーダンス状態発生箇所検証処理を示すフローチャート
【図２】  本発明の第１の実施の形態における論理回路検証方法のトライステートセルの出力端子が複数個共通接続された箇所抽出した結果を示す図
【図３】  本発明の第１の実施の形態における論理回路検証方法のトライステートセルのコントロール信号に繋がる回路を抽出した結果を示す図
【図４】  本発明の第２の実施の形態における貫通電流検証方法を示すブロック図
【図５】  本発明の第２の実施の形態における貫通電流検証方法を示すフローチャート
【図６】  本発明の第３の実施の形態における貫通電流検証方法で貫通電流の可能性情報を含むライブラリを追加する処理にかかわるフローチャート
【図７】  本発明の第３の実施の形態における貫通電流検証方法で貫通電流の可能性を検出する工程のセル内部のトランジスタ構成例を示す回路図
【図８】  本発明の第３の実施の形態における貫通電流検証方法を示すフローチャート
【図９】  本発明の第４の実施の形態における貫通電流検証方法のフローチャート
【図１０】  本発明の第４の実施の形態における貫通電流検証方法のトランジスタスイッチング表を示す図
【図１１】  本発明の第４の実施の形態における貫通電流検証方法での２入力ＮＡＮＤの回路図（ａ）と、２入力ＮＯＲの回路図（ｂ）
【図１２】  本発明の第４の実施の形態における貫通電流検証方法でトランジスタ構造の判断を行った結果を示す図
【図１３】  本発明の第４の実施の形態における貫通電流検証方法でのｎ型トランジスタが縦積み構造である場合の貫通電流入力パターンを示す図（ａ）と、ｐ型トランジスタが縦積み構造である場合の貫通電流入力パターンを示す図（ｂ）
【図１４】  本発明の第５の実施の形態における貫通電流検証方法のフローチャート
【図１５】  本発明の実施の形態において、ハイインピーダンス状態になった箇所を示す図
【図１６】  本発明の実施の形態において、ハイインピーダンス状態発生箇所にハイインピーダンス状態回避回路を挿入した図
【図１７】  本発明の実施の形態において、ハイインピーダンス状態発生箇所にバスホールド回路を挿入した図
【符号の説明】
４１  論理回路図作成装置
４２  ネットリスト入力部
４３  ライブラリ入力部
４４  検証部
４５  エラー／ワーニング出力部
４６  検証ルール記憶領域
３０１  ネットリスト
３０２  セル内部ネットリスト
３０３  トランジスタスイッチング表
３０４  貫通電流入力パターン
Ａ  入力端子
Ｂ  入力端子
ＯＵＴ  出力端子
Ｃ１０１，Ｃ１０２  コントロール端子
Ｇ１０１，Ｇ１０２  トライステートインバータ
Ｇ１０３  インバータ
Ｇ１０４  ＮＯＲゲート
Ｇ４０１，Ｇ４０２  トライステートセル
Ｎ４０１  ハイインピーダンス状態ネット
Ｋ４０１  ハイインピーダンス状態回避回路
Ｋ４０２  バスホールド回路
Ｓ５１  トライステートセルの出力端子検出処理
Ｓ５２  ハイインピーダンス状態出力判別処理
Ｓ５３  接続チェック処理
Ｓ５４  入力端子検出処理
Ｓ５５  トランジスタ対リスト作成処理
Ｓ５６  貫通電流構成検出処理
Ｓ５７  エラー出力処理
Ｓ６１  トランジスタ検出処理
Ｓ６２  トランジスタ対リスト作成処理
Ｓ６３  貫通電流構成検出処理
Ｓ６４  貫通電流非発生情報追加処理
Ｓ６５  貫通電流発生情報追加処理
Ｓ８１  トライステートセルの出力端子検出処理
Ｓ８２  ハイインピーダンス状態出力判別処理
Ｓ８３  エラー出力処理
Ｓ１０１  トライステートセル抽出工程
Ｓ１０２  トライステートセルのコントロール信号へ繋がる回路抽出工程
Ｓ１０３  コントロール信号調査工程
Ｓ１０４  排他チェック工程
Ｓ１０５  ハイインピーダンス状態チェック工程
Ｓ３０１  セル抽出工程
Ｓ３０２  トランジスタスイッチング表作成工程
Ｓ３０３  セル構造解析工程
Ｓ３０４  貫通電流入力パターン抽出工程
Ｓ３０５  貫通電流検証工程
Ｓ３１１  貫通電流入力パターン作成セル選択工程
Ｓ３１２  判断工程
Ｓ３１３  貫通電流入力パターン選択工程
【図１】
0003979835.tif 000002
【図２】
0003979835.tif 000003
【図３】
0003979835.tif 000004
【図４】
0003979835.tif 000005
【図５】
0003979835.tif 000006
【図６】
0003979835.tif 000007
【図７】
0003979835.tif 000008
【図８】
0003979835.tif 000009
【図９】
0003979835.tif 000010
【図１０】
0003979835.tif 000011
【図１１】
0003979835.tif 000012
【図１２】
0003979835.tif 000013
【図１３】
0003979835.tif 000014
【図１４】
0003979835.tif 000015
【図１５】
0003979835.tif 000016
【図１６】
0003979835.tif 000017
【図１７】
0003979835.tif 000018