(57)【要約】【課題】回路認識できなかった回路を不明回路として認識できるようにする。【解決手段】入力処理部１５は、入力ネットリスト１１と、パタンファイル１２と、コントロールカード１３の情報を入力し、内部データベース１４に格納し、トランジスタ回路分割１６が回路をＣＣＣ単位に分割し、回路認識１７が回路認識を行う。不明回路ネットリスト作成処理１８は、認識できなかった回路のネットリストを作成し、不明回路ネットリスト１１１として出力する。出力処理は、認識できた回路と不明回路を含む全ての認識結果を回路認識結果情報１１０として出力する。回路検証処理１１２は不明回路と認識できた回路の接続検証などを行う。【選択図】図１
2008234037.tif 000002
【特許請求の範囲】
【請求項１】
トランジスタ回路を所定の分割単位で分割後、回路認識を行うトランジスタ回路解析検証装置であって、
前記トランジスタ回路を前記分割単位で分割する分割手段と、
前記トランジスタ回路の前記分割単位に分割された１または複数の箇所について回路認識を行う回路認識手段と、
前記回路認識手段によって回路認識できない箇所を不明回路とする不明回路特定手段と
を備えることを特徴とするトランジスタ回路解析検証装置。
【請求項２】
前記不明回路特定手段によって特定された前記不明回路を所定の出力形式で出力する出力手段をさらに備える
ことを特徴とする請求項１に記載のトランジスタ回路解析検証装置。
【請求項３】
回路認識できた回路と、回路認識できなかった前記不明回路との間の接続検証を行う接続検証手段をさらに備える
ことを特徴とする請求項１または２に記載のトランジスタ回路解析検証装置。
【請求項４】
前記分割単位はチャネル・コネクテッド・コンポーネント単位である
ことを特徴とする請求項１乃至３のいずれかに記載のトランジスタ回路解析検証装置。
【請求項５】
前記出力形式は、ネットリスト形式である
ことを特徴とする請求項１乃至４のいずれかに記載のトランジスタ回路解析検証装置。
【請求項６】
トランジスタ回路を所定の分割単位で分割後、回路認識を行うトランジスタ回路解析検証装置におけるトランジスタ回路解析検証方法であって、
前記トランジスタ回路を前記分割単位で分割する分割ステップと、
前記トランジスタ回路の前記分割単位に分割された１または複数の箇所について回路認識を行う回路認識ステップと、
前記回路認識ステップにおいて回路認識できない箇所を不明回路とする不明回路特定ステップと
を備えることを特徴とするトランジスタ回路解析検証方法。
【請求項７】
トランジスタ回路を所定の分割単位で分割後、回路認識を行うトランジスタ回路解析検証装置におけるトランジスタ回路解析検証プログラムであって、
前記トランジスタ回路を前記分割単位で分割する分割ステップと、
前記トランジスタ回路の前記分割単位に分割された１または複数の箇所について回路認識を行う回路認識ステップと、
前記回路認識ステップにおいて回路認識できない箇所を不明回路とする不明回路特定ステップと
を前記トランジスタ回路解析検証装置に実行させることを特徴とするトランジスタ回路解析検証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はトランジスタ回路解析検証装置に関し、特に、トランジスタ回路設計において、トランジスタ回路認識処理を行うトランジスタ回路解析検証装置に関するものである。
【背景技術】
【０００２】
従来、トランジスタ回路認識システムは、ＬＳＩ（Large Scale Integration）などのトランジスタ回路設計において、トランジスタレベルの回路解析／検証システムに用いられている。
また、特許文献１記載の発明では、検証対象である半導体集積回路から部分回路網を抽出し、部分回路網単位でスイッチングノイズに対する信頼性を検証することにより、被検証回路が大規模であっても、もれなく確実、かつ高速に検証することが可能な技術が開示されている。
【特許文献１】特開平１１−６６１４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来の回路認識システムには、次のような問題点があった。
第１の問題点は、予め準備した回路しか回路として認識できないことである。その理由は、認識できない回路接続があった場合、接続情報を持った回路として認識していないためである。
第２の問題点は、認識できない不明部分を残してしまうため、回路検証システムによる検証ができないことである。その理由は、認識できていない不明部分を１つの回路として扱っていないためである。
第３の問題点は、認識できなかった不明部分がどんな回路であるのかを設計者が認識するということが困難なことである。その理由は、認識できなかった不明部分の情報は、回路接続情報としてではなく、認識できなかったトランジスタ情報（例えば、認識できなかったトランジスタの名称のみからなる情報）としてしか出力されないことにある。
また、従来のトランジスタ回路検証システムに用いるトランジスタ回路認識システムでは、始めに入力したトランジスタ回路の中をサーチし、インバータやＮＡＮＤなどの最小回路をそれぞれ回路グループとして認識を行うが、この際、予め想定していないトランジスタ回路があった場合には、回路グループとして認識できず、図４（ｃ）に示すように、エラーとしてトランジスタ単体の素子名など（この例では、ＭＰ０１，ＭＮ０１，ＭＮ０２等）を出力し、そのままでは、以降の回路解析／検証処理ができないという問題がある。図４（ａ）は、解析対象となる回路のネットリストの例であり、図４（ｂ）は、回路認識できた回路のネットリストの例である。
また、設計者による入力トランジスタ回路からのエラー素子の削除を行い、全て認識できる回路のみに変更した場合には、認識回路のみの回路解析／検証しかできず、認識回路以外の部分を含む回路解析／検証はできないという問題がある。
本発明はこのような状況に鑑みてなされたものであり、以上の問題点を解決できるトランジスタ回路解析検証装置を提供することを目的とする。
【課題を解決するための手段】
【０００４】
請求項１に記載のトランジスタ回路解析検証装置は、トランジスタ回路を所定の分割単位で分割後、回路認識を行うトランジスタ回路解析検証装置であって、前記トランジスタ回路を前記分割単位で分割する分割手段と、前記トランジスタ回路の前記分割単位に分割された１または複数の箇所について回路認識を行う回路認識手段と、前記回路認識手段によって回路認識できない箇所を不明回路とする不明回路特定手段とを備えることを特徴とする。
また、前記不明回路特定手段によって特定された前記不明回路を所定の出力形式で出力する出力手段をさらに備えるようにすることができる。
また、回路認識できた回路と、回路認識できなかった前記不明回路との間の接続検証を行う接続検証手段をさらに備えるようにすることができる。
また、前記分割単位はチャネル・コネクテッド・コンポーネント単位とすることができる。
また、出力形式は、ネットリスト形式とすることができる。
請求項６に記載のトランジスタ回路解析検証方法は、トランジスタ回路を所定の分割単位で分割後、回路認識を行うトランジスタ回路解析検証装置におけるトランジスタ回路解析検証方法であって、前記トランジスタ回路を前記分割単位で分割する分割ステップと、前記トランジスタ回路の前記分割単位に分割された１または複数の箇所について回路認識を行う回路認識ステップと、前記回路認識ステップにおいて回路認識できない箇所を不明回路とする不明回路特定ステップとを備えることを特徴とする。
請求項７に記載のトランジスタ回路解析検証プログラムは、トランジスタ回路を所定の分割単位で分割後、回路認識を行うトランジスタ回路解析検証装置におけるトランジスタ回路解析検証プログラムであって、前記トランジスタ回路を前記分割単位で分割する分割ステップと、前記トランジスタ回路の前記分割単位に分割された１または複数の箇所について回路認識を行う回路認識ステップと、前記回路認識ステップにおいて回路認識できない箇所を不明回路とする不明回路特定ステップとを前記トランジスタ回路解析検証装置に実行させることを特徴とする。
【発明の効果】
【０００５】
本発明によれば、認識できない不明箇所を不明回路とすることができるので、不明回路を１つの回路として扱うことができ、入力した全ての回路を回路として認識することができる。また、不明回路をネットリストの形式で出力するようにすれば、回路設計者は認識できなかった不明回路がどのような回路であるのかを認識することができる。また、認識できなかった回路を不明回路として扱うことにより、回路認識できた回路と、回路認識できなかった不明回路との間の接続検証等を行うことが可能となる。
【発明を実施するための最良の形態】
【０００６】
図１は、本発明が適用されるトランジスタ回路検証システムの一実施の形態のブロック図である。本実施の形態は、トランジスタ回路情報を格納した入力ネットリスト１１、特別に認識させたいトランジスタ回路情報を格納したパタンファイル１２、システムの動作を制御するコントロールカード１３、システム内部で扱う内部データベース１４、入力データを内部データベース１４に格納する入力処理部１５、回路認識のために入力ネットリスト１１の情報をチャネル・コネクテッド・コンポーネント（Chanel-Connected-Components（以下ＣＣＣと略す））単位に分割するトランジスタ回路分割１６、ＣＣＣ単位に分割された回路に対し、インバータやＮＡＮＤ回路、ＮＯＲ回路、ラッチ回路などを認識する回路認識１７、認識できなかった回路（不明回路）の不明回路ネットリスト１１１を作成する不明回路ネットリスト作成処理１８、不明回路ネットリスト１１１、全ての処理結果を出力する出力処理１９、回路認識結果情報１１０を含む。
【０００７】
入力処理部１５は、トランジスタ回路情報として、ＳＰＩＣＥネットリストのような入力ネットリスト１１、インバータやＮＡＮＤ、ＮＯＲなど予め認識準備をしている論理回路でなく、設計者が特別にシステムに認識させたい任意のトランジスタ回路に関する情報（トランジスタ回路を認識させるための情報）であるトランジスタ回路情報をＳＰＩＣＥネットリスト形式で表現したパタンファイル１２、及び、システムの動作を制御するコントロールカード１３が保持する各種指定情報を入力し、内部データベース１４にそれぞれ格納する。
【０００８】
コントロールカード１３が保持する各種指定情報は、例えば、次のようなものである。
・入力ネットリストや、出力ネットリストなどの入出力ファイルの指定情報
・実行ログファイルの指定情報
・回路パタンファイルの指定情報
・コマンド実行指定情報
・回路認識処理実行指定情報
・制御パラメータ指定情報
・回路内のクロック信号の指定情報
・電源、グランドノード（端子）の指定情報
【０００９】
トランジスタ回路分割１６は、内部データベース１４に格納されたトランジスタ回路情報から、ＭＯＳトランジスタをソースとドレインで接続している回路をＣＣＣ単位に分割し、ＣＣＣ単位に分割された箇所をそれぞれグループ分けする処理を行い、再び内部データベース１４にグループ化された情報を出力する。
【００１０】
回路認識１７は、内部データベース１４に格納されたトランジスタ回路情報のＣＣＣ単位に分割されグループ化された情報に対し、予め準備した認識処理を行い、インバータやＮＡＮＤ、ＮＯＲ、ラッチなどのような論理回路として認識する。また、パタンファイル１２で入力した回路パタンを照合し、合致した回路パタンがあるか否かを認識する。
【００１１】
不明回路ネットリスト作成処理１８は、回路認識１７において回路として認識できなかった箇所を、不明回路として内部データベース１４から取り出し、ＣＣＣ接続単位に、例えば、ＳＰＩＣＥ形式のようなネットリストで表現した不明回路ネットリスト１１１を出力する。
【００１２】
出力処理１９は、全ての回路認識処理結果を回路認識結果情報１１０として例えばネットリスト等の形式で出力する。
【００１３】
回路検証処理１１２は、全ての回路認識処理が終わった後、内部データベース１４を参照し、回路接続検証などの検証処理を行う。
【００１４】
次に、図１、図２、及び図３を参照して、本実施の形態の動作について説明する。
【００１５】
図２は、入力ネットリスト１１で表される回路図の一例である。ＰＭＯＳトランジスタ２１、ＮＭＯＳトランジスタ２２、抵抗２３、容量２４、電源２５、グランド２６、インバータ２７、不明回路２８から構成される。
【００１６】
図３（ａ）は、入力ネットリスト１１の例を示している。図３（ｂ）は、不明回路ネットリスト１１１の例を示している。図３（ｃ）は、認識されたインバータ回路２７のネットリストの例を示している。図３（ａ）の入力ネットリスト１１では、図２の回路図例から、回路認識に不要な抵抗、容量素子を予め削除したものとしている。
【００１７】
図３（ａ）において、１行目の「．SUBCKT」は、回路のひとかたまりであることを示し、「ＴＥＳＴ＿ＣＫＴ」は、図２の全体の回路名を表している。「ＧＮＤ」、「ＶＤＤ」、「ＩＮ１」、「ＩＮ２」、「ＯＵＴ」は、それぞれ図２の各端子の端子名を表している。２行目は、ＭＰ０１（図２の左上段のＰＭＯＳトランジスタ２１）が、ＶＤＤと、ＩＮ１と、ＭＰ０１：Ｄに接続されていることを表している。３行目は、ＭＰ０２（図２の右上段のＰＭＯＳトランジスタ２１）が、ＶＤＤと、ＭＰ０２：Ｇと、ＯＵＴに接続されていることを表している。４行目は、ＭＮ０１（図２の左中段のＮＭＯＳトランジスタ２２）が、ＭＰ０１：Ｄと、ＩＮ１と、ＭＮ０１：Ｄに接続されていることを表している。５行目は、ＭＮ０２（図２の左下段のＮＭＯＳトランジスタ２２）が、ＭＮ０１：Ｄと、ＩＮ２と、ＧＮＤに接続されていることを表している。６行目は、ＭＮ０３（図２の右下段のＮＭＯＳトランジスタ２２）が、ＯＵＴと、ＭＰ０１：Ｄと、ＧＮＤに接続されていることを表している。７行目は、終了を表している。
【００１８】
図３（ｂ）は、図２の不明回路として認識された不明回路２８の不明回路ネットリスト１１１の例を示している。１行目の「．SUBCKT」は、回路のひとかたまりであることを示し、「ＦＵＭＥＩ０１」は、図２の不明回路２８の回路名を表している。「ＶＤＤ」、「ＧＮＤ」、「ＦＵＭＥＩ０１＿ＩＮ１」、「ＦＵＭＥＩ０１＿ＩＮ２」、「ＦＵＭＥＩ０１＿ＯＵＴ」は、それぞれ図２の不明回路２８に関係する各端子の端子名を表している。２行目は、ＭＰ０１（図２の左上段のＰＭＯＳトランジスタ２１）が、ＶＤＤと、ＦＵＭＥＩ０１＿ＩＮ１と、ＦＵＭＥＩ０１＿ＯＵＴに接続されていることを表している。３行目は、ＭＮ０１（図２の左中段のＮＭＯＳトランジスタ２２）が、ＦＵＭＥＩ０１＿ＯＵＴと、ＦＵＭＥＩ０１＿ＩＮ１と、ＧＮＤに接続されていることを表している。４行目は、ＭＮ０２（図２の左下段のＮＭＯＳトランジスタ２２）が、ＧＮＤと、ＦＵＭＥＩ０１＿ＩＮ２と、ＧＮＤに接続されていることを表している。５行目は、終了を表している。
【００１９】
図３（ｃ）は、図２の回路認識されたインバータ回路２７のネットリストの例を示している。１行目の「．SUBCKT」は、回路のひとかたまりであることを示し、「ＩＮＶ０１」は、図２のインバータ回路２７の回路名を表している。「ＶＤＤ」、「ＧＮＤ」、「ＩＮＶ０１＿ＩＮ１」、「ＩＮＶ０１＿ＩＮ２」は、それぞれ図２のインバータ回路２７に関係する各端子の端子名を表している。２行目は、ＭＰ０２（図２の右上段のＰＭＯＳトランジスタ２１）が、ＶＤＤと、ＩＮＶ０１＿ＩＮと、ＩＮＶ０１＿ＯＵＴに接続されていることを表している。３行目は、ＭＮ０３（図２の右下段のＮＭＯＳトランジスタ２２）が、ＩＮＶ０１＿ＯＵＴと、ＩＮＶ０１＿ＩＮと、ＧＮＤに接続されていることを表している。４行目は、終了を表している。
【００２０】
図１において、入力ネットリスト１１は、回路検証を行う対象であるトランジスタ回路のネットリストであり、ＳＰＩＣＥ形式等で記載される。簡単な例として、図２の回路を図３（ａ）に示したようなＳＰＩＣＥ形式で表した入力ネットリスト１１として入力する。
【００２１】
パタンファイル１２は、入力ネットリスト１１と同一形式で、特別に認識させたいトランジスタ回路が記載されたものである。トランジスタ回路検証システムを制御するコントロールカード１３には、上述した入出力ファイルの指定や、回路認識制御などの各種指定情報が与えられる。これらの情報（入力ネットリスト１１，パタンファイル１２、コントロールカード１３からの情報）は、入力処理部１５に入力され、入力制御部１５の制御により、内部データベース１４に格納される。
【００２２】
次に、トランジスタ回路分割１６により、入力ネットリスト１１で表されたトランジスタ回路がＣＣＣ単位に回路分割される。ＣＣＣ単位とは、トランジスタのソース、ドレイン端子で接続され、電源／グランド／トランジスタのゲート端子に到達するまでを１つのグループとするものである。ＣＣＣ単位に回路分割された情報は、内部データベース１４に格納される。
【００２３】
図２の不明回路２８、インバータ２７の各グループがそれぞれＣＣＣ単位となり、グループを構成する素子に対し、同一グループの属性が付与される。図２では、不明回路２８のグループを構成する、ＰＭＯＳトランジスタ２１、ＮＭＯＳトランジスタ２２に対して、それぞれ同一グループ名が付与される。同様に、インバータ２７のグループを構成する、ＰＭＯＳトランジスタ２１、ＮＭＯＳトランジスタ２２に対しても、それぞれ同一グループ名が付与される。
【００２４】
各トランジスタは、図３（ａ）に示したように、異なるインスタンス名を持っているために、それぞれ区別される。
【００２５】
回路認識１７は、内部データベース１４に格納されているＣＣＣ単位に回路分割された情報を参照し、回路認識処理を実行する。回路認識１７による回路認識処理では、予め標準的な論理回路として、インバータ、ＮＡＮＤ、ＮＯＲなどの論理回路をはじめ、ラッチやダイナミック回路など、想定される回路を認識することができるようになっている。例えば、図２に示したような回路を入力した場合、図２において、インバータ回路２７が認識され、認識されたインバータ回路２７に関する情報（例えば、ネットリスト）が回路認識結果情報１１０として出力されるとともに、内部データベース１４に格納される。
【００２６】
次に、回路認識１７は、図２の不明回路２８を認識しようとするが、想定された回路に当てはまっておらず、かつ、図１のパタンファイル１２でも与えられていない回路である場合、認識することができず不明回路素子とされる。
【００２７】
次に、図１の不明回路ネットリスト作成処理１８により、回路認識１７の回路認識処理が行われ、不明回路素子とされた素子の接続関係を基に、図３（ｂ）に示したような不明回路ネットリスト１１１が作成され、出力されるとともに、内部データベース１４に供給され、格納される。これにより、回路認識１７における回路認識処理により、論理回路やパタンファイル１２で与えられた回路として認識できなかった回路を、不明回路のまとまりとして認識することができる。
【００２８】
次に、回路検証処理１１２により、内部データベース１４に格納された不明回路ネットリスト１１１、及び、回路認識結果情報１１０が参照され、不明回路ネットリスト１１１をさらに分割する必要がなければ、この不明回路ネットリスト１１１を１つの単位として、回路検証処理が行われる。回路検証処理では、不明回路という回路グループと、認識された論理回路との間の接続検証などを行うことが可能となる。回路認識結果情報１１０には、認識できた回路情報および認識できなかった回路情報を含むものとすることができる。
【００２９】
例えば、不明回路グループを”ＦＵＭＥＩ”という仮の回路グループとすると、認識された論理回路へＦＵＭＥＩ回路グループが接続しているという情報が内部データベース１４に書き込まれる。この情報をもとに、ＦＵＭＥＩ回路グループに接続できる論理回路以外が接続されていないかどうかなどの検証を行うことが可能となる。また、回路検証ルールを不明回路の中身を参照せずに、不明回路の入出力端子部に対して記述することにより、不明回路と他の論理回路との検証を容易に行うことができる。
【００３０】
以上説明したように、本実施の形態により、ＬＳＩ（Large Scale Integration）などのトランジスタ回路設計を行う場合に、回路解析／検証システムに用いるトランジスタ回路認識処理において、認識できなかった回路部を単なる部品の羅列としてではなく、１つの回路として出力することを特長とする。更に、回路として出力することにより、認識処理後に続く回路解析／検証を容易に進めることを可能とする。
【００３１】
なお、上記実施の形態の構成及び動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更することができることは言うまでもない。
【産業上の利用可能性】
【００３２】
本発明は、例えば、ＬＳＩ設計などにおける、トランジスタレベルの回路設計、回路検証分野にも適用することができる。
【図面の簡単な説明】
【００３３】
【図１】本発明の一実施の形態の構成例を示すブロック図である。
【図２】対象となる回路例を示す図である。
【図３】図２の回路の回路認識結果をネットリスト形式で表した図である。
【図４】従来のネットリストの出力例を示す図である。
【符号の説明】
【００３４】
１１  入力ネットリスト
１２  パタンファイル
１３  コントロールカード
１４  内部データベース
１５  入力処理部
１６  トランジスタ回路分割
１７  回路認識
１８  不明回路ネットリスト作成処理
１９  出力処理
２１  ＰＭＯＳトランジスタ
２２  ＮＭＯＳトランジスタ
２３  抵抗
２４  容量
２５  電源
２６  グランド（GND)
２７  インバータ
２８  不明回路
１１０  回路認識結果情報                           
１１１  不明回路ネットリスト
１１２  回路検証処理
【図１】
2008234037.tif 000003
【図２】
2008234037.tif 000004
【図３】
2008234037.tif 000005
【図４】
2008234037.tif 000006