JP2009276987A - 回路設計検証方法 - Google Patents
回路設計検証方法 Download PDFInfo
- Publication number
- JP2009276987A JP2009276987A JP2008127162A JP2008127162A JP2009276987A JP 2009276987 A JP2009276987 A JP 2009276987A JP 2008127162 A JP2008127162 A JP 2008127162A JP 2008127162 A JP2008127162 A JP 2008127162A JP 2009276987 A JP2009276987 A JP 2009276987A
- Authority
- JP
- Japan
- Prior art keywords
- cell
- lvs
- file
- data
- name
- 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.)
- Pending
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
【課題】漏れがない設計検証を、作業者の負担を軽減して行うことができる回路設計検証方法を提供する。
【解決手段】ライブラリ3にセルを登録する場合、標準セルの回路素子を製品の仕様に応じて変更したものを特殊セル4として登録し、特殊セル4のGDSファイルについて素子のサイズを抽出する際に、バイポーラトランジスタ及びダイオードについては、セル単体GDSファイル5を作成すると共に、当該セルのデータとセル名とに基づいてセル単位でLVSを実行するための分離スクリプトを作成すると、その分離スクリプトに基づいてLVS用のインクルードファイルを生成する。
【選択図】図1
【解決手段】ライブラリ3にセルを登録する場合、標準セルの回路素子を製品の仕様に応じて変更したものを特殊セル4として登録し、特殊セル4のGDSファイルについて素子のサイズを抽出する際に、バイポーラトランジスタ及びダイオードについては、セル単体GDSファイル5を作成すると共に、当該セルのデータとセル名とに基づいてセル単位でLVSを実行するための分離スクリプトを作成すると、その分離スクリプトに基づいてLVS用のインクルードファイルを生成する。
【選択図】図1
Description
本発明は、回路図と、この回路図に基づいて設計を行ったレイアウトデータとを比較して検証する回路設計検証方法に関する。
回路図に基づいて行った集積回路のレイアウト設計を検証する場合、接続状態と共に各デバイスのサイズを検証している。後者のサイズについては、MOSトランジスタ,抵抗素子,キャパシタであれば各デバイスの属性によって、例えば、MOSトランジスタであればゲート長Lやゲート幅W,抵抗素子やキャパシタであれば抵抗値や容量値によって検証を行うことができる。
しかしながら、バイポーラトランジスタやダイオードについては、属性としてエミッタ面積やアノード面積を用いて検証することはできるが、それ以外の部分で不一致が発生しても検出できない。これは、現状の検証アルゴリズムがデバイスの構造(バイポーラトランジスタであればPNP,NPN,ダイオードであればツェナー,耐圧など)により分類を行うことを前提としているためである。
このように設計の検証を行う従来技術として、例えば特許文献1に開示されているものがある。
特開平7−93392号公報
このように設計の検証を行う従来技術として、例えば特許文献1に開示されているものがある。
特許文献1によって検証を行うとすれば、結局は、バイポーラトランジスタやダイオードについては、デバイスの細部が異なっているもの全て(例えば100〜数100種類程度)を予め個別のセルとして作成した上で設計を行う必要があり、その作業負担が非常に大きく、時間を要するという問題がある。
本発明は上記事情に鑑みてなされたものであり、その目的は、漏れがない設計検証を、作業者の負担を軽減して行うことができる回路設計検証方法を提供することにある。
本発明は上記事情に鑑みてなされたものであり、その目的は、漏れがない設計検証を、作業者の負担を軽減して行うことができる回路設計検証方法を提供することにある。
請求項1記載の回路設計検証方法によれば、ライブラリにセルを登録する場合、標準セルの回路素子を製品の仕様に応じて変更したものを特殊セルとして登録し、特殊セルのGDSファイルについて素子のサイズを抽出する際に、バイポーラトランジスタ及びダイオードについては、個別のセルのGDSファイルを作成すると共に、当該セルのデータとセル名とに基づいてセル単位でLVSを実行するための分離スクリプトを作成すると、その分離スクリプトに基づいてLVS用のインクルードファイルを生成する。
また、レイアウトデータより、バイポーラトランジスタ,ダイオードについては、それらのデバイス名を前記個別のセル名と同じセル名とするように変更し、インクルードファイルをインクルードすることで呼び出したセル名と、レイアウトデータより生成したセル名とを比較するセル名比較LVS処理を行う。そして、セル名比較LVS処理でエラーが発生しなかった場合は、全ての登録セルとレイアウトデータのセルの場所についてXOR処理を行う。
以上のように検証を行えば、バイポーラトランジスタ及びダイオードについて細部の構成が相違する素子が多数存在する場合でも、各素子にはそれぞれ異なるセル名が自動的に付与されてセル名で比較が行われる。また、XOR処理も各セル毎に行われるので、より詳細なレベルで検証が行われる。したがって、ユーザは、特許文献1のように仕様が異なる素子毎に個別のセルを予め作成する必要がなく、漏れがない設計検証をより簡単に行うことができる。
請求項2記載の回路設計検証方法によれば、通常の(デバイス単位で分離して比較する)LVS処理を先に実行し、その結果エラーが発生しなかった場合にセル名比較LVS処理を行う。すなわち、より粗いデバイスレベルでのLVS処理が通った後に、バイポーラトランジスタ及びダイオードについて詳細なセルレベルでのLVS処理を行うことにより、手順を最適化して検証効率を向上させることができる。
以下、本発明の一実施例について図面を参照して説明する。図1は、回路設計検証方法の処理手順を概念的に示すフローチャートである。回路図1に基づいて、半導体集積回路のレイアウト2を設計するが、その設計の際に、使用する回路素子のデータをデバイス単位のセル(GDS,又はGDS2形式)としてセルライブラリ(マスタファイル)3に登録する。また、レイアウト2のデータは、設計で使用したセルのGDSファイルとして見ることもできる。
また、上記設計に使用した素子は、標準素子として予め用意されている標準セルを、設計仕様に応じて変更したものを多数使用するのが一般的であり、それらを追加登録することで特殊セルライブラリ4が構成される(セルライブラリ3の一部となる)。そして、特殊セルライブラリ4について、デバイス単位のセル毎のサイズを抽出する際に(ステップS1)、バイポーラトランジスタとダイオードについては、個別の素子毎に分割したセル単体GDSファイル5を作成する(ステップS2)。そして、これらの処理が完了すると、デバイス単位のサイズ情報と共に、セル単体GDSファイル5をセルライブラリ3に登録する(ステップS3)。
また、ステップS2においてセル分割を行う際に、セルのデータとセル名とから分離スクリプトを作成する(ステップS4)。分離スクリプトは、セルの外形をセル名で選択するもので、その分離スクリプトによって生成されたインクルードファイルがセルライブラリ3(検証用マスタファイル)に配置される。
そして、従来行われているLVS処理は(ステップS5)、回路図1に基づいて生成され、デバイス名で記述されているネットリストと、レイアウト2のGDSファイルと、セルライブラリ3のGDSファイルとをデバイス名毎に、記述されているサイズが一致するか否かを検証する。エラーが発生すれば(ステップS6→あり)設計データを修正した後、再度LVS処理を行う。
そして、従来行われているLVS処理は(ステップS5)、回路図1に基づいて生成され、デバイス名で記述されているネットリストと、レイアウト2のGDSファイルと、セルライブラリ3のGDSファイルとをデバイス名毎に、記述されているサイズが一致するか否かを検証する。エラーが発生すれば(ステップS6→あり)設計データを修正した後、再度LVS処理を行う。
ここで、図2は、上記LVS処理の詳細をモデル化して示すものである。先ず、入力されたレイアウトデータ2を、デバイスの構造によって、MOSデバイス,抵抗素子・容量素子,バイポーラデバイス,ダイオードデバイスに分離する。それから、各デバイスを更に詳細に分離する。MOSデバイスについては、Nチャネル,Pチャネルと、低耐圧,高耐圧との組合せにより4種類に分離し、抵抗素子・容量素子については、拡散抵抗別,キャパシタの構造別に分離する。そして、MOSデバイスについては、ゲート長L,ゲート幅Wを検証し、抵抗素子については抵抗値及び素子幅を検証し、容量素子については容量値を検証する。以上が、従来のLVS処理に相当する内容である。
バイポーラデバイスについては、ラテラルPNP,バーティカルPNP,NPNと耐圧との組み合わせで分離し、ダイオードデバイスについては、ESD用ダイオード,ツェナーダイオードと耐圧との組み合わせで分離するが、これらのデバイスは、設計パラメータが非常に多く、従来のLVS処理における特定箇所の値だけでは検証が不十分となる。そこで、ステップS5のLVS処理が通れば(ステップS6→なし)、本発明独自の処理であるセル名比較LVS処理を実行する(ステップS7)。
そのため、回路図1に基づいて生成されるネットリスト(デバイス名で記述)を、変換プログラムによって(ステップS11)バイポーラトランジスタ及びダイオードについてのみセル名で記述されるネットリスト6に変換する。ここで、図4は、上記変換プログラムによって変換されるネットリストの一例であり、(a)は変換前,(b)は変換後のリストを示す。
図4(a)において、矢印で示す行の「HS」がデバイス名(例えばNPNトランジスタを示す)で、その後に記号「$」で挟まれている「T4N4」が回路図1より生成される際に付されたコメントであり、このコメントは、ステップS2で分割されたセル単体GDSファイル5における各セル名に対応する名称が付与されている。この処理は、図4(a)のネットリストを生成するプログラムのオプション設定により実現される。
そして、図4(b)に示す変換後のリストでは、矢印で示す行のデバイス名「HS」がセル名「T4N4」に置き換えられている。すなわち、変換プログラムは、図4(a)のリスト中にあるコメントを抽出して、デバイス名をそのコメントに置き換える処理を行う。
そして、図4(b)に示す変換後のリストでは、矢印で示す行のデバイス名「HS」がセル名「T4N4」に置き換えられている。すなわち、変換プログラムは、図4(a)のリスト中にあるコメントを抽出して、デバイス名をそのコメントに置き換える処理を行う。
再び図1を参照する。ステップS7のセル名比較LVS処理を実行するには、LVSルールファイルを変更する必要がある。この変更は、ステップS4で作成した分離スクリプトからインクルードファイルを生成し、LVSルールファイルに取り込ませることで行う。図1に示すLVSルールファイル7は、インクルードファイルを取り込んだ結果変更されたものを示している。尚、上記のファイル取り込み(インクルード)は、セル名比較LVS処理の実行を開始する際にインクルードを行うプログラムが用意されており、そのプログラムの実行により行われる。
また、図5(a)はLVSルールファイルの変更前、図5(b)は変更後の一例を示す。図5(a)は、ステップS5における従来のLVSを行う場合に使用されるファイルであり、デバイス名「HD」が記述されている。そして、(b)に示す変更後のファイル7は、デバイス名がセル名「T4PB1」に置き換えられていると共に、テキスト「LAYOUT TEXT“T4PB1”…」が追加されている。
そして、ステップS7では、セル名ネットリスト6と、セルライブラリ(マスタファイル)3のセル単体GDSファイル5とが比較されて、バイポーラトランジスタ及びダイオードについてセル名での比較が行われる。そして、エラーがなければ(ステップS8→なし)続いてXOR(COMP)処理を行う(ステップS9)。セルライブラリ3には、セル単体GDSファイル5が含まれているので、バイポーラトランジスタ及びダイオードに関しては、個別のセル毎にXOR処理が行われる。
すなわち、レイアウト2に使用されているセルと、従来のセルライブラリに登録されているセルとでXOR処理を実行すると、レイアウト2を設計する際にセルを展開(階層構造を崩す)したり、セルの上位階層に不必要なデータが存在している場合には、それらを検証することができない。そこで、本発明では、階層がない状態からセル領域を個別に分離したセルライブラリ3のデータと、レイアウト2のデータとを比較する。図6は、セル名T4PL1,T4PB1毎に、分離した領域のイメージを示す。
図3は、ステップS9のXOR処理をモデル的に示すものである。ステップS7のセル名比較LVSを実行した際に、比較したセルのリスト8を作成する。そして、レイアウト2のGDSファイル,セルライブラリ3のGDSファイル,セルリスト8を比較する。ここでエラーが出なければ(ステップS10→なし)一連の検証処理を終了する。
図7乃至図9は、図1のフローを実行した結果、検証装置のモニタ画面に表示されるリストの一例を示す。図7(a)は、最初のLVSルールファイル(lvs.cal)の指定入力、及び検証対象とするプロセスファイル(AAA)の指定入力と、ステップS7のセル名比較LVS処理の実行結果であり、図7(b)は、ステップS9のXOR処理の実行結果である。また、図7(c)は、全ての検証処理が終了した時点で出力されるアウトプットファイルを示している。
また、図8は、セル名比較LVS処理の実行結果の様々なパターンを示しており、(a)は図7(a)と同様にエラーがない場合(CORRECT)である。(b)はエラーがある場合(INCORRECT)、(c)はLVS処理が中止された場合(NOT_COMPARED)、(d)はLVS処理が実行されなかった場合(NOT_EXCUTE)を示す。(e),(d)は、(b)のエラーがある場合におけるレポートファイルの一例であり、登録されていないセルを使用している場合,異なるセルを使用している場合のメッセージである。
また、図9は、ステップS9のXOR処理の実行結果にエラーが含まれている場合であり、エラーがある場合は「ERROR」が表示され、セルのGDSファイルが存在しない場合は「FAILED」が表示される。
また、図9は、ステップS9のXOR処理の実行結果にエラーが含まれている場合であり、エラーがある場合は「ERROR」が表示され、セルのGDSファイルが存在しない場合は「FAILED」が表示される。
以上のように本実施例によれば、ライブラリ3にセルを登録する場合、標準セルの回路素子を製品の仕様に応じて変更したものを特殊セル4として登録し、特殊セル4のGDSファイルについて素子のサイズを抽出する際に、バイポーラトランジスタ及びダイオードについては、セル単体GDSファイル5を作成すると共に、当該セルのデータとセル名とに基づいてセル単位でLVSを実行するための分離スクリプトを作成すると、その分離スクリプトに基づいてLVS用のインクルードファイルを生成する。
また、レイアウト2のデータより、バイポーラトランジスタ,ダイオードについては、それらのデバイス名を前記個別のセル名と同じセル名とするように変更し、インクルードファイルをインクルードすることで呼び出したセル名と、レイアウト2のデータより生成したセル名とを比較するセル名比較LVS処理を行い、エラーが発生しなかった場合は、全ての登録セルとレイアウトデータのセルの場所についてXOR処理を行うようにした。
また、レイアウト2のデータより、バイポーラトランジスタ,ダイオードについては、それらのデバイス名を前記個別のセル名と同じセル名とするように変更し、インクルードファイルをインクルードすることで呼び出したセル名と、レイアウト2のデータより生成したセル名とを比較するセル名比較LVS処理を行い、エラーが発生しなかった場合は、全ての登録セルとレイアウトデータのセルの場所についてXOR処理を行うようにした。
以上のように検証を行えば、バイポーラトランジスタ及びダイオードについて細部の構成が相違する素子が多数存在する場合でも、各素子にはそれぞれ異なるセル名が付与されてセル名で比較が行われる。また、XOR処理も各セル毎に行われるので、より詳細なレベルで検証が行われる。したがって、ユーザは、特許文献1のように仕様が異なる素子毎に個別のセルを予め作成する必要がなく、漏れがない設計検証をより簡単に行うことができる。
そして、通常のLVS処理を先に実行し、その結果エラーが発生しなかった場合にセル名比較LVS処理を行うので、より粗いデバイスレベルでのLVS処理が通った後に、バイポーラトランジスタ及びダイオードについて詳細なセルレベルでのLVS処理を行うことにより、手順を最適化して検証効率を向上させることができる。
そして、通常のLVS処理を先に実行し、その結果エラーが発生しなかった場合にセル名比較LVS処理を行うので、より粗いデバイスレベルでのLVS処理が通った後に、バイポーラトランジスタ及びダイオードについて詳細なセルレベルでのLVS処理を行うことにより、手順を最適化して検証効率を向上させることができる。
本発明は上記し且つ図面に記載した実施例にのみ限定されるものではなく、以下のような変形または拡張が可能である。
ステップS7のセル名比較LVS処理は、ステップS5のLVS処理を実行する前に実行しても良い。
ステップS7のセル名比較LVS処理は、ステップS5のLVS処理を実行する前に実行しても良い。
図面中、1は回路図、2はレイアウト、3はセルライブラリ、5はセル単体GDSファイル、6はセル名ネットリストを示す。
Claims (2)
- 回路図より抽出したネットリストデータと、前記回路図に基づいて設計を行ったレイアウトデータとを比較して検証するLVS(Layout Versus Schematic)処理と、
前記レイアウトデータと、前記回路図に使用する素子のデータがセルとして登録されるライブラリとを比較して検証するXOR処理とを実行する回路設計検証方法において、
前記ライブラリにセルを登録する場合、標準セルとして定義されている回路素子を、製品の仕様に応じて変更したものを特殊セルとして登録し、
前記特殊セルのGDS(Graphic Data Stream)ファイルについて、素子のサイズを抽出する際に、バイポーラトランジスタ及びダイオードについては、個別のセルのGDSファイルを作成すると共に、当該セルのデータとセル名とに基づいて、セル単位でLVSを実行するための分離スクリプトを作成すると、前記分離スクリプトに基づいてLVS用のインクルードファイルを生成し、
前記レイアウトデータより、バイポーラトランジスタ,ダイオードについては、それらのデバイス名を、前記個別のセル名と同じセル名とするように変更し、
前記バイポーラトランジスタ及び前記ダイオードについて、前記インクルードファイルをインクルードすることで呼び出したセル名と、前記レイアウトデータより生成したセル名とを比較するセル名比較LVS処理を行い、
前記セル名比較LVS処理を行った結果、エラーが発生しなかった場合は、全ての登録セルとレイアウトデータのセルの場所についてXOR処理を行うことを特徴とする回路設計検証方法。 - 通常のLVS処理を先に実行し、その結果エラーが発生しなかった場合に、前記セル名比較LVS処理を行うことを特徴とする請求項1記載の回路設計検証方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008127162A JP2009276987A (ja) | 2008-05-14 | 2008-05-14 | 回路設計検証方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008127162A JP2009276987A (ja) | 2008-05-14 | 2008-05-14 | 回路設計検証方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009276987A true JP2009276987A (ja) | 2009-11-26 |
Family
ID=41442366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008127162A Pending JP2009276987A (ja) | 2008-05-14 | 2008-05-14 | 回路設計検証方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009276987A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011222835A (ja) * | 2010-04-12 | 2011-11-04 | Fujitsu Semiconductor Ltd | 集積回路の製造、設計方法、およびプログラム |
-
2008
- 2008-05-14 JP JP2008127162A patent/JP2009276987A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011222835A (ja) * | 2010-04-12 | 2011-11-04 | Fujitsu Semiconductor Ltd | 集積回路の製造、設計方法、およびプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5725359B2 (ja) | ソースコード比較装置、ソースコード比較方法およびソースコード比較プログラム | |
US7461366B2 (en) | Usage of a buildcode to specify layout characteristics | |
US9811449B2 (en) | Test scenario generation support device and test scenario generation support method | |
JP2010033208A (ja) | 回路設計支援装置、回路設計支援プログラム、回路設計支援方法 | |
US6321367B1 (en) | Apparatus and method for automatically generating circuit layouts | |
JP5747698B2 (ja) | 要件管理支援装置 | |
JP2009276987A (ja) | 回路設計検証方法 | |
US20160292346A1 (en) | System and method for power verification using efficient merging of power state tables | |
US8032847B2 (en) | Layout design method of semiconductor integrated circuit | |
JP2000294650A (ja) | ラッチアップ検証方法及び検証装置 | |
JP2004165572A (ja) | 半導体集積回路のレイアウト設計装置、レイアウト設計方法及びレイアウト設計プログラム | |
JP2012068798A (ja) | Esd検証装置、esd検証方法およびesd検証プログラム | |
JP6578841B2 (ja) | 難読化装置、方法およびプログラム | |
JP4620241B2 (ja) | 半導体装置の設計支援装置及びその支援方法 | |
JP2017162429A (ja) | 情報処理装置及び方法、並びにプログラム | |
JP2008097541A (ja) | レイアウト検証方法およびレイアウト検証装置 | |
JP6324132B2 (ja) | 回路図変更装置、方法、プログラム及び記録媒体 | |
JP2004171076A (ja) | 半導体集積回路のレイアウト設計装置、レイアウト設計方法及びレイアウト設計プログラム | |
JP2013250837A (ja) | 誤自己ループ構成自動検出装置及び方法 | |
JP5661216B1 (ja) | Esd検証装置、esd検証方法、およびコンピュータをesd検証装置として機能させるプログラム | |
JP2010182233A (ja) | レイアウトデータ検証装置、レイアウトデータ検証方法、及びレイアウトデータ検証プログラム | |
JP2012094041A (ja) | レイアウト検証用データ作成方法 | |
JP2012243080A (ja) | 半導体集積回路の配線設計検証方法 | |
JP2004110627A (ja) | 半導体装置の設計方法および装置 | |
JP2010020393A (ja) | 回路検証装置、回路検証方法、回路検証プログラム |