JP2014149700A - シミュレーション装置およびシミュレーション方法 - Google Patents

シミュレーション装置およびシミュレーション方法 Download PDF

Info

Publication number
JP2014149700A
JP2014149700A JP2013018306A JP2013018306A JP2014149700A JP 2014149700 A JP2014149700 A JP 2014149700A JP 2013018306 A JP2013018306 A JP 2013018306A JP 2013018306 A JP2013018306 A JP 2013018306A JP 2014149700 A JP2014149700 A JP 2014149700A
Authority
JP
Japan
Prior art keywords
circuit
netlist
simulation
inactive
simulation apparatus
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
Application number
JP2013018306A
Other languages
English (en)
Inventor
Shiki Nagamine
志記 永峯
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.)
PS4 Luxco SARL
Original Assignee
PS4 Luxco SARL
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 PS4 Luxco SARL filed Critical PS4 Luxco SARL
Priority to JP2013018306A priority Critical patent/JP2014149700A/ja
Publication of JP2014149700A publication Critical patent/JP2014149700A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】ポストレイアウトシミュレーションに要する時間を短縮するとともに、シミュレーションの精度の悪化を抑制する。
【解決手段】本発明によるシミュレーション装置は、回路データから第1のネットリストを生成するネットリスト生成部と、レイアウトデータおよび回路データから実負荷情報を生成する実負荷情報生成部と、第1のネットリストに実負荷情報が示す寄生成分が追加された第2のネットリストを生成するバックアノテーション処理部と、第1のネットリストにおいて非活性回路部分を特定し、第2のネットリストから前記非活性回路部分を削除し、削除された非活性回路部分との接続箇所について、その種類に応じた回路変更を行い、その接続関係を示す第3のネットリストを生成する回路変更処理部と、第3のネットリストを用いてシミュレーションを実行するシミュレーション実行部と、を有する。
【選択図】図3

Description

本発明はシミュレーション装置およびシミュレーション方法に関する。
半導体チップの設計においては通常、半導体チップを構成する回路の動作検証のためのシミュレーションが行われる。近年の製造プロセスの微細化や回路動作の高速化に伴って、このようなシミュレーションにおいて、配線部分の寄生成分(寄生抵抗や寄生容量)を考慮することが重要になってきている。
上述したようなシミュレーションにおいては、まず、回路の設計情報を示す回路データから回路を構成する抵抗や容量等の素子間の接続関係を示すネットリスト(プレレイアウトネットリスト)が生成される。
また、回路データ、および、回路を構成する素子間の配線パターンを示すレイアウトデータから、配線部分の寄生成分を示す実負荷情報がdspf(Detailed Standard Parasitic Format)等の形式で求められる。
そして、プレレイアウトネットリストに実負荷情報に示される寄生成分が追加され、ポストレイアウトネットリストが生成される。
上記のような、ネットリストに実負荷情報の示す寄生成分を追加する処理は、バックアノテーションと称される(例えば、特許文献1(特開2003−085231号公報)参照)。ポストレイアウトネットリストに基づいてシミュレーション(ポストレイアウトシミュレーション)を行うことにより、配線部分の寄生成分を考慮した、精度の高いシミュレーションが可能となる。
特開2003−085231号公報
回路の高集積化に伴って、ネットリストや実負荷情報が膨大となり、ポストレイアウトシミュレーションに要する時間が増大する。
そこで、プレレイアウトネットリストにおいてポストレイアウトシミュレーションへの影響が小さい回路部分を特定し、その回路部分をプレレイアウトネットリストから削除した後に、バックアノテーションを行ってポストレイアウトネットリストを生成し、そのポストレイアウトネットリストを用いてポストレイアウトシミュレーションを行うという方法がある。
上記の方法によれば、シミュレーションに要する時間を短縮することができる。しかしながら、この方法では、ネットリストの一部が削除されているため、バックアノテーションを行う際にプレレイアウトネットリストと実負荷情報との間で不整合が発生し、一部の実負荷情報がポストレイアウトネットリストに反映されず、シミュレーションの精度が悪化するという問題がある。
本発明によるシミュレーション装置は、
回路の設計情報を示す回路データが入力されると、該回路データから、前記回路を構成する素子の接続関係を示す第1のネットリストを生成するネットリスト生成部と、
前記回路を構成する素子間の配線パターンを示すレイアウトデータが入力されると、前記レイアウトデータおよび前記回路データから、前記配線部分の寄生成分を示す実負荷情報を生成する実負荷情報生成部と、
前記第1のネットリストに前記実負荷情報が示す寄生成分を追加した第2のネットリストを生成するバックアノテーション処理部と、
前記第1のネットリストにおいてシミュレーション実行時に削除可能な非活性回路部分を特定し、前記第2のネットリストから前記非活性回路部分を削除し、該削除された非活性回路部分との接続箇所について、その種類に応じた回路変更を行い、その接続関係を示す第3のネットリストを生成する回路変更処理部と、
前記第3のネットリストを用いて前記回路のシミュレーションを実行するシミュレーション実行部と、を有する。
本発明によれば、ポストレイアウトシミュレーションに要する時間を短縮するとともに、シミュレーションの精度の悪化を抑制することができる。
本発明の第1の実施形態のシミュレーション装置の構成を示すブロック図である。 一般的な回路の構成を示す概念図である。 図1に示すシミュレーション装置の動作を示すフローチャートである。 図1に示す回路変更処理部による断面処理を説明するための図である。 図1に示す回路変更処理部による断面処理を説明するための図である。 図1に示す回路変更処理部による断面処理を説明するための図である。 本発明の第2の実施形態のシミュレーション装置の動作を示すフローチャートである。
(第1の実施形態)
図1は、本発明の第1の実施形態のシミュレーション装置の構成を示すブロックである。
シミュレーション装置101は、プレレイアウトネットリスト生成部102、実負荷情報生成部103、バックアノテーション処理部104、回路変更処理部105、および、シミュレーション実行部106を有する。
シミュレーション装置101には、回路の設計情報を示す回路データ、および、回路を構成する素子間の配線パターンを示すレイアウトデータが入力される。
プレレイアウトネットリスト生成部102は、入力された回路データから、設計対象の回路を構成する素子間の接続関係を示すプレレイアウトネットリストを生成する。
実負荷情報生成部103は、入力された回路データおよびレイアウトデータから、設計対象の回路を構成する素子間の配線部分の寄生成分を示す実負荷情報を生成する。
バックアノテーション処理部104は、実負荷情報生成部103により生成された実負荷情報が示す配線部分の寄生成分を、プレレイアウトネットリスト生成部102により生成されたプレレイアウトネットリストに追加するバックアノテーションを行い、ポストレイアウトネットリストを生成する。
回路変更処理部105は、プレレイアウトネットリスト生成部102により生成されたプレレイアウトネットリストにおいて、シミュレーションへの影響が小さく、シミュレーションを行う際に省略することができる回路部分である非活性回路部分を特定する。
図2は、半導体装置における一般的な回路201の構成を示す概念図である。
図2に示すように、回路201は、多数のトランジスタや抵抗等の素子によって構成されている。ここで、回路201は、複数の素子によって構成される回路ブロック202を機能的な単位として分割することができる。なお、以下では、素子同士の接続点をノード203と称する。
回路変更処理部105は、例えば、回路201において、一部の回路ブロック202および一部のノード203を非活性回路部分として特定する。
再び、図1を参照すると、回路変更処理部105は、ポストレイアウトネットリストから非活性回路部分を削除し、削除された非活性回路部分との接続箇所について、その種類に応じた回路変更を行い、シミュレーション用ポストレイアウトネットリストを生成する。
シミュレーション実行部106は、回路変更処理部105により生成されたシミュレーション用ポストレイアウトネットリストを用いて回路シミュレーションを実行し、シミュレーション結果を生成する。
次に、本実施形態のシミュレーション装置101の動作について説明する。
図3は、本実施形態のシミュレーション装置101の動作を示すフローチャートである。
シミュレーション装置101には、回路データおよびレイアウトデータが入力される。なお、ここで入力される回路データとレイアウトデータとは通常、整合性の検証(LvS(Layout Versus Schematic)検証)済みのものである。
まず、プレレイアウトネットリスト生成部102は、入力された回路の回路データに基づいて、その回路を構成する素子間の接続関係を示す第1のネットリストとしてのプレレイアウトネットリストを生成する(ステップS311)。
また、実負荷情報生成部103は、入力された回路の回路データおよびレイアウト情報から、その回路を構成する素子間の配線部分の寄生成分を抽出し、抽出した寄生成分を示す実負荷情報を生成する(ステップS312)。
次に、バックアノテーション処理部104は、実負荷情報が示す配線部分の寄生成分をプレレイアウトネットリストに追加するバックアノテーション処理を行い、第2のネットリストとしてのポストレイアウトネットリストを生成する(ステップS313)。上述したように、回路データとレイアウトデータとはLvS検証済みであるため、これらのデータに基づいて生成されたプレレイアウトネットリストと実負荷情報についても整合性は保たれる。そのため、バックアノテーション処理によって全ての実負荷情報が追加されたポストレイアウトネットリストが生成される。
ポストレイアウトネットリストには、実負荷情報が示す配線部分の寄生成分が追加されているため、ポストレイアウトネットリストを用いてシミュレーションを行うことで、配線部分の寄生成分を考慮した精度の高いシミュレーション結果を得ることができる。しかし、ポストレイアウトネットリストを用いてシミュレーションを行うと、回路規模によっては、シミュレーションに要する時間が増大してしまう。
回路変更処理部105は、プレレイアウトネットリストにおいて非活性回路部分を特定する非活性回路部分特定処理を行う(ステップS314)。
なお、非活性回路部分を特定する方法としては、例えば、回路変更処理部105が、プレレイアウトネットリストに基づく回路について過渡解析を実行し、その結果から、非活性回路部分を特定する方法がある。この方法では、具体的には、回路変更処理部105は、回路ブロックへの入出力に応じて、非活性回路部分として特定する。すなわち、回路ブロックへ流出入する電流が所定の閾値未満の回路ブロック、および、入出力電位の変動が所定の閾値未満の回路ブロックが、非活性回路部分として特定される。また、回路変更処理部105は、電位の変動が所定の閾値未満のノードに対応する寄生成分を、非活性回路部分として特定する。さらに、別の方法として、ユーザにより指定された回路部分を非活性回路部分として特定する方法もある。
回路変更処理部105は、非活性回路部分を示す非活性回路部分情報を生成する。また、非活性回路部分からの出力が非活性回路部分に該当しない回路部分に入力される場合、回路変更処理部105は、その非活性回路部分に該当しない回路部分の入力端子およびその入力端子における電位を示す端子情報を生成する。
回路変更処理部105は、ポストレイアウトネットリストから非活性回路部分情報に示される非活性回路部分を削除する非活性回路部分削除処理を行う(ステップS315)。
非活性回路部分が削除されたポストレイアウトネットリストを用いたシミュレーションは、回路の一部が削減されているためシミュレーションに要する時間が短縮される。しかしながら、非活性回路部分と接続していたノードが開放されるため、そのノードと接続する回路ブロックのシミュレーションにおける動作が実際の回路ブロックの動作と異なり、シミュレーションの精度が悪くなる。そのため、回路変更処理部105は、削除された非活性回路部分との接続箇所について、その種類に応じた回路変更を行い、第3のネットリストとしてのシミュレーション用ポストレイアウトネットリストを生成する(ステップS316)。
回路変更処理部105による断面処理について、図4から図6を参照して説明する。
図4は、回路変更処理部105による断面処理の対象となる回路構成の一例を示す図である。図4(a)においては、回路ブロック401と回路ブロック402とが、カップリング容量403を介して接続されている。回路ブロック401が非活性回路部分であるとすると、非活性回路部分削除処理によって、回路ブロック401が削除される。回路変更処理部105は、図4(b)に示すように、端子の一端が開放状態にあるカップリング容量403を同値の対接地容量404に置換する。
図5は、回路変更処理部105による断面処理の対象となる回路構成の他の一例を示す図である。図5(a)においては、回路ブロック501は、回路ブロック502の入出力端子503に接続されている。ここで、回路ブロック501が非活性回路部分であるとすると、非活性回路部分削除処理によって回路ブロック501は削除される。
回路変更処理部105は、回路データを用いて、入出力端子503の入出力状態を判定する。さらに、入出力端子503が入力端子である場合、回路変更処理部105は、図5(b)に示すように、非活性回路部分特定処理において生成された端子情報を用いて、回路ブロック501が削除される前の入出力端子503と同等の電位を有する単一または複数の素子から構成される回路部として、電源504を入出力端子503に付加する。
図6は、回路変更処理部105による断面処理の対象となる回路構成のさらに他の一例を示す図である。図6(a)においては、回路ブロック601は、回路ブロック602の入出力端子603に接続されている。ここで、回路ブロック601が非活性回路部分であるとすると、非活性回路部分削除処理によって回路ブロック601は削除される。
回路変更処理部105は、回路データを用いて、入出力端子603の入出力状態を判定する。さらに、入出力端子603が出力端子である場合、回路変更処理部105は、図6(b)に示すように、削除された回路ブロック601の回路負荷に相当する単一または複数の素子から構成される回路部として、対接地容量604を入出力端子603に付加する。
回路変更処理部105は、非活性回路部分を削除したポストレイアウトネットリストに対して上述した断面処理を行うことにより、シミュレーション用ポストレイアウトネットリストを生成する。
なお、図4から図6において、回路ブロック401、501および601を非活性回路部分として説明したが、非活性回路部分は、複数の素子によって構成される回路ブロックに限られず、単一の素子でもかなわない。
再び、図3を参照すると、シミュレーション実行部106は、シミュレーション用ポストレイアウトネットリストを用いてシミュレーションを行い、シミュレーション結果を生成する(ステップS317)。シミュレーション結果において、非活性回路部分削除処理に起因する精度の悪化が、断面処理を行うことにより抑制される。
また、バックアノテーション処理前に非活性回路部分削除処理を行う場合、バックアノテーション処理時に、レイアウトデータとプレレイアウトネットリストとの間で不整合が生じ、一部の実負荷情報がポストレイアウトネットリストに反映されない。しかしながら、本実施形態におけるシミュレーション装置101は、バックアノテーション処理後に非活性回路部分削除処理を行うため、バックアノテーション処理時に、レイアウトデータとプレレイアウトネットリストとの間で不整合が生じず、全ての実負荷情報がポストレイアウトネットリストに反映される。
このように、本実施形態によれば、シミュレーション装置101は、バックアノテーション処理後に、非活性回路部分削除処理および断面処理を行い、シミュレーション用ポストレイアウトネットリストを生成する。
そのため、ポストレイアウトシミュレーションに要する時間を短縮するとともに、シミュレーションの精度の悪化を抑制することができる。
(第2の実施形態)
図7は、本発明の第2の実施形態のシミュレーション装置の動作を示すフローチャートである。なお、本実施形態のシミュレーション装置の構成は、第1の実施形態のシミュレーション装置101の構成と同様であるため、説明を省略する。また、図7においては、図3と同様の処理については同じ符号を付し、説明を省略する。
実負荷情報生成部103は、回路変更処理部105が生成した非活性回路部分情報が示す非活性回路部分については寄生成分を生成せずに、非活性回路部分以外の回路部分を構成する素子間の配線部分の寄生成分を示す実負荷情報を生成する。(ステップS711)
バックアノテーション処理部104は、実負荷情報をプレレイアウトネットリストに反映させ、第2のネットリストとしてのポストレイアウトネットリストを生成する(ステップS313)。以下、図3と同様の処理により、非活性回路部分削除処理および断面処理が行われたシミュレーション用ポストレイアウトネットリストが生成され、そのシミュレーション用ポストレイアウトネットリストを用いてシミュレーションが行われる。
本実施形態のシミュレーション装置は、非活性回路部分の実負荷情報の生成を行わないことにより、実負荷情報生成における処理量を減少させる。一方で、ユーザによる非活性回路部分の追加指定等による非活性回路部分の変更があった場合、本実施形態のシミュレーション装置は、再度、実負荷情報生成を行う必要がある。
このように、本実施形態によれば、シミュレーション装置は、非活性回路部分の実負荷情報生成を行わない。
そのため、実負荷情報生成の処理量が削減される。
なお、本発明のシミュレーション装置にて行われる方法は、コンピュータに実行させるためのプログラムに適用してもよい。また、そのプログラムを記憶媒体に格納することも可能であり、ネットワークを介して外部に提供することも可能である。
101 シミュレーション装置
102 プレレイアウトネットリスト生成部
103 実負荷情報生成部
104 バックアノテーション処理部
105 回路変更処理部
106 シミュレーション実行部
201 回路
202 回路ブロック
203 ノード
401、402、501、502、601、602 回路ブロック
403 カップリング容量
404、604 対接地容量
503、603 入出力端子
504 電源

Claims (10)

  1. 回路の設計情報を示す回路データが入力されると、該回路データから、前記回路を構成する素子の接続関係を示す第1のネットリストを生成するネットリスト生成部と、
    前記回路を構成する素子間の配線パターンを示すレイアウトデータが入力されると、前記レイアウトデータおよび前記回路データから、前記配線部分の寄生成分を示す実負荷情報を生成する実負荷情報生成部と、
    前記第1のネットリストに前記実負荷情報が示す寄生成分を追加した第2のネットリストを生成するバックアノテーション処理部と、
    前記第1のネットリストにおいてシミュレーション実行時に削除可能な非活性回路部分を特定し、前記第2のネットリストから前記非活性回路部分を削除し、該削除された非活性回路部分との接続箇所について、その種類に応じた回路変更を行い、その接続関係を示す第3のネットリストを生成する回路変更処理部と、
    前記第3のネットリストを用いて前記回路のシミュレーションを実行するシミュレーション実行部と、を有する回路のシミュレーション装置。
  2. 請求項1に記載のシミュレーション装置において、
    前記実負荷情報生成部は、前記非活性回路部分については、前記実負荷情報を生成しないことを特徴とするシミュレーション装置。
  3. 請求項1または2に記載のシミュレーション装置において、
    前記回路変更処理部は、ユーザの指定した回路部分を前記非活性回路部分として特定することを特徴とするシミュレーション装置。
  4. 請求項1または2に記載のシミュレーション装置において、
    前記回路変更処理部は、前記第1のネットリストに基づく回路の過渡解析を実行することにより、前記非活性回路部分を特定することを特徴とするシミュレーション装置。
  5. 請求項4に記載のシミュレーション装置において、
    前記回路変更処理部は、前記第1のネットリストにおいて、前記素子間の接続点であるノードの電位変動に応じて、前記非活性回路部分を特定することを特徴とするシミュレーション装置。
  6. 請求項4または5に記載のシミュレーション装置において、
    前記回路変更処理部は、前記第1のネットリストにおいて、複数の素子によって構成される回路ブロックへの入出力に応じて、前記非活性回路部分を特定することを特徴とするシミュレーション装置。
  7. 請求項1から6のいずれか1項に記載のシミュレーション装置において、
    前記回路変更処理部は、カップリング容量を介して接続される2つの回路部分のうち1つが非活性回路部分である場合、前記カップリング容量を、前記非活性回路部分の削除前の前記カップリング容量に相当する対接地容量に置換することを特徴とするシミュレーション装置。
  8. 請求項1から6のいずれか1項に記載のシミュレーション装置において、
    前記回路変更処理部は、前記非活性回路部分からの出力が複数の素子によって構成される回路ブロックの入出力端子に入力される場合、前記入出力端子に、前記非活性回路部分と同等の出力電位を有する単一または複数の素子から構成される回路部を付加することを特徴とするシミュレーション装置。
  9. 請求項1から6のいずれか1項に記載のシミュレーション装置において、
    前記回路変更処理部は、複数の素子によって構成される回路ブロックからの出力が前記非活性回路部分に入力される場合、前記入出力端子に、前記非活性回路部分の回路負荷に相当する単一または複数の素子から構成される回路部を付加することを特徴とするシミュレーション装置。
  10. 回路の設計情報を示す回路データが入力されると、該回路データから、前記回路を構成する素子の接続関係を示す第1のネットリストを生成するネットリスト生成ステップと、
    前記回路を構成する素子間の配線パターンを示すレイアウトデータが入力されると、前記レイアウトデータおよび前記回路データから、前記配線部分の寄生成分を示す実負荷情報を生成する実負荷情報生成ステップと、
    前記第1のネットリストに前記実負荷情報が示す寄生成分を追加した第2のネットリストを生成するバックアノテーション処理ステップと、
    前記第1のネットリストにおいてシミュレーション実行時に削除可能な非活性回路部分を特定し、前記第2のネットリストから前記非活性回路部分を削除し、該削除された非活性回路部分との接続箇所について、その種類に応じた回路変更を行い、その接続関係を示す第3のネットリストを生成する回路変更処理ステップと、
    前記第3のネットリストを用いて前記回路のシミュレーションを実行するシミュレーション実行ステップと、を有する回路のシミュレーション方法。
JP2013018306A 2013-02-01 2013-02-01 シミュレーション装置およびシミュレーション方法 Pending JP2014149700A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013018306A JP2014149700A (ja) 2013-02-01 2013-02-01 シミュレーション装置およびシミュレーション方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013018306A JP2014149700A (ja) 2013-02-01 2013-02-01 シミュレーション装置およびシミュレーション方法

Publications (1)

Publication Number Publication Date
JP2014149700A true JP2014149700A (ja) 2014-08-21

Family

ID=51572618

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013018306A Pending JP2014149700A (ja) 2013-02-01 2013-02-01 シミュレーション装置およびシミュレーション方法

Country Status (1)

Country Link
JP (1) JP2014149700A (ja)

Similar Documents

Publication Publication Date Title
US10678973B2 (en) Machine-learning design enablement platform
KR101679920B1 (ko) 집적 회로 설계 방법 및 장치
US9122833B2 (en) Method of designing fin field effect transistor (FinFET)-based circuit and system for implementing the same
US8954917B1 (en) Method and system for performing fast electrical analysis and simulation of an electronic design for power gates
US9817932B2 (en) Recognizing and utilizing circuit topology in an electronic circuit design
CN104933214B (zh) 集成电路设计方法和装置
US9177096B2 (en) Timing closure using transistor sizing in standard cells
US10275553B2 (en) Custom circuit power analysis
JP2010218252A (ja) 統計的タイミング解析用セルライブラリ作成装置、統計的タイミング解析装置、統計的タイミング解析用セルライブラリ作成方法および統計的タイミング解析方法
US8595677B1 (en) Method and system for performing voltage-based fast electrical analysis and simulation of an electronic design
JP5699768B2 (ja) 回路シミュレーション方法および回路シミュレーション装置
US8010930B2 (en) Extracting consistent compact model parameters for related devices
US9483593B2 (en) Method for decomposing a hardware model and for accelerating formal verification of the hardware model
US8510693B2 (en) Changing abstraction level of portion of circuit design during verification
US9411918B1 (en) Simplified device model extension using subcircuits
US20220327269A1 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
US8924911B2 (en) Equation based transient circuit optimization
CN105447212A (zh) 产生集成电路的验证平台文件的方法与编译系统
US8726206B1 (en) Deadlock detection method and related machine readable medium
JP2014149700A (ja) シミュレーション装置およびシミュレーション方法
JP2009276822A (ja) 半導体デバイス設計支援装置及び半導体デバイス設計支援方法
US20090144044A1 (en) Logic simulator and logic simulation method
JP4985211B2 (ja) 論理回路のシミュレーション
JP6146224B2 (ja) 判定方法、判定プログラム、および判定装置
Foundries Application Note—SPICE Models & Simulations