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