JP3640402B2 - Layout verification device - Google Patents

Layout verification device Download PDF

Info

Publication number
JP3640402B2
JP3640402B2 JP09370793A JP9370793A JP3640402B2 JP 3640402 B2 JP3640402 B2 JP 3640402B2 JP 09370793 A JP09370793 A JP 09370793A JP 9370793 A JP9370793 A JP 9370793A JP 3640402 B2 JP3640402 B2 JP 3640402B2
Authority
JP
Japan
Prior art keywords
node
nodes
matching
unmatched
layout
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.)
Expired - Fee Related
Application number
JP09370793A
Other languages
Japanese (ja)
Other versions
JPH06282604A (en
Inventor
圭子 白石
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP09370793A priority Critical patent/JP3640402B2/en
Publication of JPH06282604A publication Critical patent/JPH06282604A/en
Application granted granted Critical
Publication of JP3640402B2 publication Critical patent/JP3640402B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【産業上の利用分野】
本発明は、設計したレイアウトと回路図等の仕様書との電気的な接続関係の一致を検証する方法に関するものである。
【0002】
【従来の技術】
レイアウト検証とは、LSIのレイアウト情報から抽出された電気的な接続情報と回路図等の仕様書から得られる電気的な接続情報の照合を行ない、接続状態の不一致を起こしている接続点を検出することである。この照合は、トランジスタレベルで行なわれることもあるし、IC等が配置されたもっと上位のレベルで行なわれることもある。この照合に用いられる電気的な接続情報としては、ネットリストが用いられる。ネットリストは、レイアウトや回路図等において、同電位となる部分、例えば、配線されている部分を1つのノードとし、回路素子などで接続されているノードを線で結ぶことによって得られるグラフである。
【0003】
図2は、一般的なレイアウト検証装置の一例を示すブロック図である。図中、41は回路図ネットリスト抽出機能、42はレイアウトネットリスト抽出機能、43は照合機能である。レイアウト検証装置は、図2に示すように、回路図から接続情報を抽出し、ネットリストを作成する回路図ネットリスト抽出機能41と、レイアウトから接続情報を抽出し、ネットリストを作成するレイアウトネットリスト抽出機能42と、2つのネットリストを用いて電気的な接続情報を照合する照合機能43から構成されている。
【0004】
従来の照合機能43における照合の方法としては、2つの方法が行なわれている。その一つは、予め対応するノードを初期対応ノードとして与えておき、この初期対応ノードを対応させ、残りのまだ一致していないノード、すなわち、未一致対応ノードを、不一致になるノードの数が最小になるように対応させて行き、そのときのノードの組み合わせを照合の結果とする方法である。
【0005】
しかし、不一致を起こすノードが最小になることだけを基準に接続照合を行なうと、メモリのように、同じ回路が繰り返し配置され、それらの回路を一度に制御する信号線が存在するLSIにおいて、その信号線の接続をまちがえた場合には、レイアウトの検証時に回路図とレイアウトの本質的な不一致ノードを検出することができないという問題があった。この問題を解決するために、例えば特開平4−95168号公報等では、上述の信号線のような、接続している回路素子の多いものから対応するノードを探索し、本質的な不一致ノードを検出しようとする方法が提案されている。しかし、この方法においても、接続している回路素子の多いノードを一致ノードとするため、このノードが不一致を起こしている場合には、これを検出できない場合が発生するという問題がある。
【0006】
別の方法として、ネットリストの各ノードに対して属性を与え、与えられた属性と隣接するノードの属性によって新たな属性を計算し、これを繰り返すことにより参照する範囲を徐々に広げて行き、ネットリスト中で唯一の属性を有するノードが1対1に対応するとき、これを一致ノードとする照合方法がある。この方法では、最後の1つのノードになっても、属性の値が一致するまで照合結果が得られず、また、常にネットリスト全体に対して一致ノードの探索を行なうため、時間がかかるという問題があった。
【0007】
【発明が解決しようとする課題】
本発明は、上述した事情に鑑みてなされたもので、回路図とレイアウトが一致していない場合に、接続の不一致を起こしているノードを効率よく正確に検出することができるレイアウト検証装置を提供することを目的とするものである。
【0008】
【課題を解決するための手段】
本発明は、請求項1に記載の発明においては、回路図等の仕様書から抽出した第1のネットリストとレイアウトから抽出した第2のネットリストの照合を行ない、レイアウトの検証を行なうレイアウト検証装置において、一致ノードに属性の1つとして識別値を与える識別値付与手段と、未一致ノードに対して隣接する未一致ノードの属性及び一致ノードの属性に基づき新たな属性を計算し属性が同じ未一致ノードを抽出して未一致ノードのグループ分けを行なう分割手段と、該分割手段により分けられたグループのうち、あるグループ内に要素となるノードが1つ存在し、当該ノードが前記第1のネットリストと前記第2のネットリスト間で対応が取れた場合に、当該ノードを一致ノードとして検出するノード一致手段を有し、前記第1及び第2のネットリストは一致ノードとなる少なくとも1つの初期対応ノードを有しており、未一致ノードがなくなるかあるいは未一致ノードがありながら一致ノードが見つからなくなるまで、前記ノード一致手段で検出された一致ノードに識別値付与手段で識別値を付与し、残った未一致ノードについて分割手段で属性の計算及びグループ分けを行ない、ノード一致手段で一致ノードを検出する処理を繰り返して実行させることを特徴とするものである。特に識別値付与手段では、前記ノード一致手段で新たに検出された一致ノードに対して、固有の識別値を付与するように構成するとよい。
【0009】
また、請求項3に記載の発明においては、請求項1または請求項2に記載のレイアウト検証装置において、前記ノード一致手段で未一致ノードが存在しかつ一致ノードが見つからなかったとき、各グループごとに同一グループ内で一致させたとき最も矛盾の発生が少ないノードの組み合わせを選択し一致させるように接続照合を行なうノード照合手段をさらに有することを特徴とするものである。
【0010】
【作用】
本発明によれば、レイアウト検証において、一致ノードに属性の1つとして識別値を与え、未一致ノードに対して隣接する未一致ノードの属性及び一致ノードの属性に基づき新たな属性を計算し、計算した属性が同じ未一致ノードを抽出して未一致ノードのグループ分けを行ない、分けられたグループのうち要素となるノードが1つ存在し第1のネットリストと第2のネットリスト間で対応が取れたノードを一致ノードとして検出て固有の識別値を付与して、処理を繰り返すので、ネットリストの初期対応ノード及び一致が検証されたノードに接続しているノードや、ネットリストの中の固有なノードから照合が進み、効率よく照合を行なうことができる。
【0011】
また、上述の照合により、複数のノードが同じ属性を持っており同一グループに複数の対応するノードの候補が存在しているためにそれ以上の照合が行なえなくなった場合に、照合ができなかった未一致のノードに対しては、ノード照合手段によってグループごとに矛盾の少ない組み合わせを選んで照合を進めることにより、属性の似ているノードが存在している場合でも、照合を行なうことができる。
【0012】
【実施例】
図1は、本発明のレイアウト検証装置の第1の実施例を示すブロック図である。1は識別値付与手段、2は分割手段、3はノード一致検出手段である。検証の対象となる回路図等の仕様及びLSIのレイアウトは、それぞれ、予めネットリストに変換され、入力される。このとき、一致ノードとなる少なくとも1つの初期対応ノードが指定される。ここで、回路図から抽出したネットリストを、回路図ネットリストと呼ぶ。また、レイアウトからの抽出したネットリストを、レイアウトネットリストと呼ぶことにする。
【0013】
識別値付与手段1は、入力されるネットリストまたはノード一致検出手段3の処理結果を受け取り、一致ノードに対して属性の一種である識別値を付与する。分割手段2は、識別値付与手段1の結果を受け取り、まず、未一致ノードがあるか否かを判定する。この結果、未一致ノードがなければ、入力された2つのネットリストは一致したことになるので、一致信号を出力し、処理を終了する。未一致ノードがある場合には、未一致ノードに対して、隣接する未一致ノードの属性及び一致ノードの属性に基づき新たな属性を計算する。計算された属性が同じ未一致ノードを抽出して、グループに分割する。ノード一致検出手段3は、分割手段2によってグループ分けされた情報を受け取り、1対1対応のグループを検出してノードを一致させる。すなわち、分割されたグループ内に要素となるノードが1つ存在し、2つのネットリスト間で対応がとれたノードを一致ノードとする。もし、一致ノードが見つかった場合には、識別値付与手段1に戻り、見つかった一致ノードからも、照合を行なうことになる。もし、未一致ノードがありながら、一致ノードが見つからなかった場合には、これ以上、上述の照合処理を繰り返しても一致ノードは見つからないので、処理を終了し、未一致ノードを出力する。
【0014】
分割手段2において計算し、また、グループ分けに用いる属性の情報としては、例えば、ノードに接続している回路素子の端子の数、すなわち、ノードから出ている枝数や、回路素子の端子の種類によりあらかじめ設定されている値の和(以下、端子値という)等を用いることができる。また、一致したノードにのみそれぞれの対応に固有の識別値を与え、隣接している一致ノードの識別値の和(以下、隣接値という)の情報を用いることが可能である。また、例えば、端子値と隣接値を加えた値を属性の値としたり、識別値と一致ノードの端子値を加えた値を隣接している一致ノードについて加え、その値を隣接値の替わりに用いるなど、種々の値を用いることができる。これらの値を適宜選択し、組み合わせて用いることもできる。
【0015】
与えられるネットリストの初期対応ノードに、予め識別値を付与しておくこともできる。この場合には、最初に初期対応ノードに識別値を改めて付与する必要はないので、ネットリストの情報は分割手段2に与え、分割手段2、ノード一致手段3、識別値付与手段1の順で処理を進めればよい。
【0016】
図3は、本発明のレイアウト検証装置の第1の実施例の動作の一例を説明するためのフローチャートである。S11において、回路図及びレイアウトのネットリストが与えられると、識別値付与手段1において、予め与えられている初期対応ノードを一致させ、一致した回路図ネットリストのノードと、レイアウトネットリストのノードに同一の識別値を与える。S12において、分割手段2で未一致ノードがあるか否かを判定する。もし、未一致ノードがなければ、すべての回路図ネットリストのノードとレイアウトネットリストのノードが一致したことになるので、回路図とレイアウトが一致した旨の信号を出力して処理を終了する。もし、未一致ノードがあれば、S13に移る。
【0017】
S13では、分割手段2において、未一致ノードに対して、ノードに接続している枝数、端子値、隣接値等の属性を計算し、それらの属性を基準にして回路図ネットリストのノードとレイアウトネットリストのノードをグループに分割する。属性の同じグループに属している回路図ノードとレイアウトノードが対応する可能性が高い。そのため、S14では、ノード一致手段3において、回路図ネットリストのノードとレイアウトネットリストのノードが1対1に対応しているグループがあるか否かを判定する。もし、1対1に対応しているグループがあれば、S15において、一致したノードとする。S16では、識別値付与手段1において、新たに一致したノードに識別値を与える。そして、S12に戻り、処理を続ける。S14において、1対1に対応しているグループが見つからないときは、回路図とレイアウトが不一致であるとして、不一致の情報を出力する。
【0018】
図4は、本発明のレイアウト検証装置の第1の実施例におけるやや具体的な一例を示すブロック構成図である。図中、21はノード集合記憶手段、22は一致ノード記憶手段、23は未一致ノード記憶手段、24は隣接情報抽出手段、25は集合内ノード比較手段、26は未一致ノード再編成手段、27は集合間ノード比較手段、28は一致ノード抽出手段、29は結果通知手段、30は識別値付与手段である。この具体例では、初期一致ノードに付与される識別値は予め与えられて、一致ノード記憶手段22に記憶されるものとする。
【0019】
ノード集合記憶手段21には、少なくとも1つの初期対応ノードと、素子の数、素子の種類、ノード間の接続関係を備えた回路図ネットリスト及びレイアウトネットリストのノード集合が記憶される。一致ノード記憶手段22には、回路図ネットリスト及びレイアウトネットリストのノードのうち、一致ノード集合が記憶される。初期状態では、各ネットリストの初期一致ノードが記憶される。未一致ノード記憶手段23には、未一致のノード集合が記憶される。初期状態では、各ネットリストのノード集合のうち、初期対応ノード以外のノードが未一致ノード集合として記憶される。
【0020】
隣接情報抽出手段24は、ノード集合記憶手段21より、ノードの隣接関係と、未一致ノード記憶手段23に記憶されている未一致ノードに隣接するノード数と素子数、一致ノード記憶手段22に記憶されている一致ノード数及び一致ノードの持つ識別値を抽出し、各未一致ノードの属性の値を計算する。この属性の値は、未一致ノード記憶手段23に各未一致ノードに対応して記憶される。集合内ノード比較手段25は、隣接情報抽出手段24により抽出され、計算された属性の値を、回路図ネットリスト及びレイアウトネットリストごとにそれぞれ比較する。未一致ノード再編成手段26は、集合内ノード比較手段25による比較結果に基づき、未一致ノード記憶手段23に含まれる未一致ノードをグループ分けして再編成し、結果を未一致ノード記憶手段23に記憶させる。
【0021】
集合間ノード比較手段27は、未一致ノード再編成手段26により再編成された回路図ネットリスト及びレイアウトネットリストの未一致ノード集合間で、隣接情報抽出手段24により計算された属性の値を比較する。一致ノード抽出手段28では、集合間ノード比較手段27による比較結果をもとに、一致しているノード対を検出する。新たに一致を検出した各ノード対は、固有の識別値が付与されるとともに一致ノード記憶手段22に記憶され、未一致ノード記憶手段23から削除される。
【0022】
これらの処理が繰り返し行なわれ、未一致ノード記憶手段23に含まれるノードが無くなったとき、回路図及びレイアウトが一致したことが結果通知手段29から出力される。また、一致ノード抽出手段28により新たに一致するノード対が1つも検出されず、未一致ノード記憶手段23に記憶されているノードが存在するときには、回路図とレイアウトは不一致であるとして、結果通知手段29から未一致ノード記憶手段23に記憶されている未一致ノードが不一致ノードとして出力される。
【0023】
このように、第1の実施例においては、枝の数、回路素子の種類、テキストの情報、一致させたノードの情報を利用することにより、すでに一致したノードに接続しているノードや、ネットリストの中の固有なノードから照合が進んでいくことになる。しかし、上述の第1の実施例では、グループに分割した場合に一対一対応になっていなければ一致していると識別しないため、属性の似ているノードが存在していると対応しているノードが残っていても検証が終わってしまうという問題がある。これを回避するため、図1のノード一致手段3において、未一致ノードが存在し、1対1対応のグループが見つからない場合には、別の照合手段を用いて残りのノードの検証を行なえばよい。
【0024】
図5は、本発明のレイアウト検証装置の第2の実施例を示すブロック図である。図中、図1と同様の部分には同じ符号を付して説明を省略する。4はノード照合手段である。ノード照合手段4では、ノード一致手段3でグループ分けされた各グループごとに一致ノードを検出して、未一致ノードとして残されるノード数を最小化する。この各グループごとに行なわれる一致ノードの検出は、従来から用いられている方法を用いることができる。ノード照合手段4の実行時には、すでにほとんどのノードで一致が検出されており、また、未一致のノードもグループ分けされており、実際にノード照合手段4で行なわれる照合の処理は、全体の照合処理のごく一部のみである。そのため、ノード照合手段4に従来の時間のかかる照合方法を適用したとしても、全体の処理時間に比べてそれほど影響しない。例えば、すべての組み合わせを検証するような照合方法を用いたとしても、検証の時間はノードの個数の自乗に比例するが、属性による照合でほとんどのノードが一致し、また、未一致ノードがグループ分けされているので、組み合わせは非常に少なくなり、処理はごく短時間で終了する。
【0025】
図6は、本発明のレイアウト検証装置の第2の実施例の動作の一例を説明するためのフローチャートである。図中、S11乃至S16の動作は、第1の実施例の動作と同様である。すなわち、枝の数、回路素子の種類、テキストの情報、一致させたノードの情報ノード等を属性として利用し、属性を基準にグループに分割することにより一致の検証を進めて行く照合方法を実行する。これらの動作は、識別値付与手段1、分割手段2、ノード一致手段3により実現される。
【0026】
S14において、未一致ノードがまだ存在するにもかかわらず、1対1対応のグループが見つからなかった場合、すなわち、複数のノードが同じ属性を持っており、同一グループに複数の対応するノードの候補が存在しているためにそれ以上の照合が行なえなくなった場合に、この第2の実施例では、ノード照合手段4による照合を行なう。S17において、ノード照合手段4は、同一グループ内で一致させたとき最も矛盾の発生が少ないノードの組み合わせを選択し一致させるように接続照合を行なう。この照合処理の結果をS18において判定し、未一致ノードが無くなれば、回路図とレイアウトは一致したものとして、一致の信号を出力して処理を終了する。また、未一致ノードがまだ存在する場合には、回路図とレイアウトは不一致であるとして、不一致の信号を出力して処理を終了する。このとき、不一致のノードは、ノード照合手段4による照合の結果、減少しており、より正確に不一致部分をユーザに対して提示することができる。
【0027】
次に、本発明のレイアウト検証装置の第1、第2の実施例における具体例について説明する。図7は、本発明のレイアウト検証装置の第1、第2の実施例における具体例で用いる回路例の説明図、図8は、図7の回路のネットリストである。図中、101乃至115は2端子素子、201乃至206は3端子素子、301は電源、401乃至420は配線、501乃至520はノードである。各素子を図7に示すように配線した回路について考える。2端子素子101乃至115は、それぞれの端子に1,2の重みが付与されている。また、3端子素子201乃至206には、それぞれの端子に3,4,5の重みが付与されている。さらに、電源301の負極には6、正極には7の重みが付与されている。図7に示された回路は、図8に示したネットリストに変換される。図8において、各ノード501乃至520は、図7の配線401乃至420に対応する。このとき指定される初期対応ノードは、ノード501とする。
【0028】
まず、回路図ネットリストとレイアウトネットリストが一致する場合を、図6に示すフローチャート、および、図9乃至図12に示す過程図を基に説明する。図9乃至図12は、具体例のネットリストが一致するときの過程図である。以下の説明で用いる属性としては、ノードから出ている枝数と、端子値、隣接値を組にして用いるとともに、一致ノードにおいては識別値を用いる。また、回路図ネットリストとレイアウトネットリストは、ともに図8に示すネットリストになっているものとする。
【0029】
図8に示すネットリスト及び初期対応ノードが与えられると、まずS11において、2つのネットリストの初期対応ノード501を一致させ、識別値を与える。ここでは、識別値として1を与えることにする。S12において、まだ未一致ノードが存在するので、S13へ進む。S13において、未一致ノードの属性を計算する。計算した結果を図9に示す。括弧内の数値が属性の値であり、最初の数値が枝数、次が端子値、最後が隣接値である。また、黒丸のノードが一致ノードであり、単独の数値が識別値である。属性が計算されると、この属性に基づきグループ分けが行なわれる。ここでは、一例として、属性が同じものをグループとしてまとめることにする。すると、ノード503,505,507のグループと、ノード504,506,508,511,514,516,518のグループと、ノード509,515,517,519のグループと、ノード512,513のグループが複数のノードで構成され、ノード502,510,520はそれぞれ1つのノードでグループが構成される。S14において、1対1対応のグループがあるか否かが判定される。ノード502,510,520は、1対1に対応するグループであるので、S15において、これらのノードを一致させる。そして、S16において、新たに一致したノード502,510,520に対して、識別値を与える。例えば、ノード502に識別値2を、ノード510に識別値3を、ノード520に識別値4を与えるものとする。そして、S12へ戻る。
【0030】
S12において、未一致ノードが存在するので、S13へ進む。S13において、未一致ノードの属性を計算する。計算した結果を図10に示す。属性が計算されると、この属性に基づきグループ分けが行なわれる。すると、ノード504,506,508,511,514,516,518のグループは、ノード504,506,508のグループと、ノード511のグループと、ノード514,516,518のグループに分かれる。また、ノード509,515,517,519のグループは、ノード509のグループと、ノード515、517、519のグループに分かれる。その他のグループには変化はない。ここで、ノード511と、ノード509が1対1に対応するグループを構成する。S14において、1対1に対応するグループがあることが判定され、S15において、1対1対応しているノード509,511を一致させる。この一致ノード509,511は、初期対応ノード以外のノード510から検索されたノードである。このように、本発明の方法では、初期対応ノード以外のノードからも一致ノードが広がることになる。S16において、新たに一致ノードとなったノード509,511に対して識別値を与える。例えば、ノード509に識別値5を、ノード511に識別値6を与える。そして、S12へ戻る。
【0031】
S12において、未一致ノードが存在するので、S13へ進む。S13において、未一致ノードの属性を計算する。計算した結果を図11に示す。属性が計算されると、この属性に基づきグループ分けが行なわれる。すると、ノード503,504,514,515が各グループから分割されてそれぞれ独立したグループとなる。S14において、1対1に対応するグループがあることが判定され、S15において、1対1対応しているノード503,504,514,515を一致させる。S16において、新たに一致ノードとなったノード503,504,514,515に対して識別値を与える。そして、S12へ戻る。
【0032】
S12において、未一致ノードが存在するので、S13において、未一致ノードの属性を計算する。この状態を図12に示す。しかし、これ以上分割されて1対1対応となるグループはないので、S14からS17へ移行する。S17では、最も矛盾の少ないグループ内でのノードの対応を調べる。このときの照合は、未一致ノードである10個のノードだけである。これにより、残りの未一致ノード505乃至508と、516乃至519の一致が照合されることになる。S18において、未一致ノードがないことが確認され、回路図とレイアウトが一致したことを示す信号が出力される。
【0033】
次に、回路図ネットリストとレイアウトネットリストが不一致の場合を、図6に示すフローチャート、および、図7及び図13に示す回路例、図14,図15に示す過程図を基に説明する。図13は、誤った回路例の説明図、図14,図15は、具体例のネットリストが不一致のときの過程図である。この具体例では、図13に示すように、2端子素子107が逆に接続された場合を考える。ここでは、回路図ネットリストは図7に示された回路に基づいており、レイアウトネットリストは、図13に示された回路相当のレイアウトに基づいているものとする。初期対応ノードはノード501とする。
【0034】
まず、S11において、初期対応ノードを一致させ、識別値として例えば1を与える。そして、S12において、未一致ノードがあると判断され、S13に進む。S13では、未一致ノードに対して属性が計算される。計算された属性は、回路図ネットリストでは図7に対応して図9のようになるが、レイアウトネットリストでは、2端子素子107の逆接続のために、ノード502,508の属性が違ってしまい、図14のようになる。ここで1対1に対応するノードはノード510のみである。ノード520は、回路図ネットリストでは一意に決まるが、レイアウトネットリストではノード502とノード520は属性が同じとなり、1対1対応のノードではなくなる。また、レイアウトネットリストにおけるノード508は、属性としては一意に決まるが、対応する回路ネットリストにおけるノードが無いため、1対1対応のノードではない。属性に基づきグループ分けを行ない、S14では1対1対応のノードがあると判定されて、S15において、1対1に対応するノード510を一致させ、S16において、識別値2を与える。そして、S12へ戻り、2回目の処理に移る。
【0035】
同様に、2回目の処理では、ノード509,511が1対1に対応するので、これらのノードを一致させ、識別値3,4を与える。3回目の処理では、ノード503,504,514,515が1対1に対応するので、これらのノードを一致させ、識別値5,6,7,8を与える。4回目の処理で、ノード520が1対1に対応する。この状態を図15に示す。図15(A)は回路図ネットリストの過程を示し、図15(B)はレイアウトネットリストの過程を示している。これにより、レイアウトネットリストにおけるノード502が有する属性は一意に決まるが、対応する回路図ネットリストにおけるノードが存在しないので、1対1対応のノードとはならない。ノード520に識別値9を付与する。
【0036】
5回目の処理では、1対1に対応するノードがなくなる。そのため、S14において、1対1対応のグループなしと判定され、S17に移り、最も矛盾の少ないグループ内でのノードの対応を調べる。このとき調べるノードは、未一致ノードの9個のノードだけでよい。この照合により、ノード505,506,507,512,513,516,517,518,519が対応することが判定されるが、ノード502,508については、一致しない。そのため、S18において、未一致ノードがあると判断され、回路図とレイアウトが不一致である旨の信号が出力される。その際に、不一致ノードとなったノード502とノード508が出力される。この出力に応じて、例えば、回路図またはレイアウトが表示されているディスプレイ等に不一致の箇所を表示させることができる。これにより、ユーザは、不一致箇所を認識できる。このとき、不一致となったノード502とノード508は、2端子素子107に接続されているノードであるから、逆接続された2端子素子107を正しくユーザに示すことができる。ユーザはこれに基づき、2端子素子107を点検すればよい。
【0037】
【発明の効果】
以上の説明から明らかなように、本発明によれば、レイアウト検証において、回路図とレイアウトが一致していない場合に、接続の不一致を起こしているノードを効率よく検出することが可能となるという効果がある。
また、不一致ノードが最小になるようにノードを一致させる照合方法を組み合わせて用いることにより、属性によって照合を進めて行く方法によって残された未一致ノードがある場合でも、その中から真の不一致ノードを検出することが可能となるという効果がある。
【図面の簡単な説明】
【図1】 本発明のレイアウト検証装置の第1の実施例を示すブロック図である。
【図2】 一般的なレイアウト検証装置の一例を示すブロック図である。
【図3】 本発明のレイアウト検証装置の第1の実施例の動作の一例を説明するためのフローチャートである。
【図4】 本発明のレイアウト検証装置の第1の実施例におけるやや具体的な一例を示すブロック構成図である。
【図5】 本発明のレイアウト検証装置の第2の実施例を示すブロック図である。
【図6】 本発明のレイアウト検証装置の第2の実施例の動作の一例を説明するためのフローチャートである。
【図7】 本発明のレイアウト検証装置の第1、第2の実施例における具体例で用いる回路例の説明図である。
【図8】 図7の回路のネットリストである。
【図9】 具体例のネットリストが一致するときの過程図の一部である。
【図10】 具体例のネットリストが一致するときの過程図の一部である。
【図11】 具体例のネットリストが一致するときの過程図の一部である。
【図12】 具体例のネットリストが一致するときの過程図の一部である。
【図13】 誤った回路例の説明図である。
【図14】 具体例のネットリストが不一致のときの過程図の一部である。
【図15】 具体例のネットリストが不一致のときの過程図の一部である。
【符号の説明】
1 識別値付与手段、2 分割手段、3 ノード一致検出手段、4 ノード照合手段、21 ノード集合記憶手段、22 一致ノード記憶手段、23 未一致ノード記憶手段、24 隣接情報抽出手段、25 集合内ノード比較手段、26未一致ノード再編成手段、27 集合間ノード比較手段、28 一致ノード抽出手段、29 結果通知手段、30 識別値付与手段。
[0001]
[Industrial application fields]
The present invention relates to a method for verifying the coincidence of an electrical connection relationship between a designed layout and a specification such as a circuit diagram.
[0002]
[Prior art]
Layout verification compares the electrical connection information extracted from the LSI layout information with the electrical connection information obtained from the specifications such as circuit diagrams, and detects connection points that cause a mismatch in the connection status. It is to be. This collation may be performed at the transistor level or may be performed at a higher level where an IC or the like is arranged. A net list is used as the electrical connection information used for this collation. A netlist is a graph obtained by connecting a node having the same potential in a layout, a circuit diagram, or the like, for example, a wired part as one node and connecting nodes connected by circuit elements with a line. .
[0003]
FIG. 2 is a block diagram illustrating an example of a general layout verification apparatus. In the figure, 41 is a circuit diagram netlist extraction function, 42 is a layout netlist extraction function, and 43 is a collation function. As shown in FIG. 2, the layout verification device extracts connection information from a circuit diagram and creates a netlist, and a circuit diagram netlist extraction function 41 that extracts connection information from a layout and creates a netlist. It comprises a list extraction function 42 and a collation function 43 that collates electrical connection information using two netlists.
[0004]
There are two methods of collation in the conventional collation function 43. One of them is that a corresponding node is given as an initial corresponding node in advance, and this initial corresponding node is made to correspond, and the remaining unmatched nodes, that is, unmatched corresponding nodes are identified by the number of nodes that do not match. In this method, correspondence is made to be minimized, and a combination of nodes at that time is used as a result of collation.
[0005]
However, if connection verification is performed based only on the fact that the number of nodes that cause inconsistency is minimized, the same circuit is repeatedly arranged like a memory, and in an LSI in which signal lines for controlling these circuits at once exist, If the connection of the signal lines is wrong, there is a problem that it is not possible to detect an essential mismatch node between the circuit diagram and the layout at the time of layout verification. In order to solve this problem, for example, in Japanese Patent Laid-Open No. 4-95168, etc., a corresponding node is searched from a large number of connected circuit elements such as the above-mentioned signal line, and an essential mismatching node is determined. A method of trying to detect has been proposed. However, even in this method, since a node having many connected circuit elements is used as a matching node, there is a problem in that this node may not be detected when the node does not match.
[0006]
As another method, an attribute is given to each node of the netlist, a new attribute is calculated by the attribute of the given attribute and the adjacent node, and the range to be referred to is gradually expanded by repeating this, There is a matching method in which when a node having a unique attribute in the netlist has a one-to-one correspondence, this is used as a matching node. In this method, even if it becomes the last one node, a collation result cannot be obtained until the attribute values match, and a matching node is always searched for the entire net list, which takes time. was there.
[0007]
[Problems to be solved by the invention]
The present invention has been made in view of the above-described circumstances, and provides a layout verification apparatus capable of efficiently and accurately detecting a node causing a connection mismatch when a layout does not match a circuit diagram. It is intended to do.
[0008]
[Means for Solving the Problems]
According to the first aspect of the present invention, the layout verification is performed by comparing the first net list extracted from the specifications such as the circuit diagram with the second net list extracted from the layout, and verifying the layout. In the apparatus, a new attribute is calculated based on the identification value giving means for giving an identification value as one of the attributes to the matching node, the attribute of the non-matching node adjacent to the non-matching node, and the attribute of the matching node. A dividing means for extracting unmatched nodes and grouping the unmatched nodes, and among the groups divided by the dividing means, there is one node as an element in a group, and the node is the first node. Node matching means for detecting the corresponding node as a matching node when a correspondence is established between the second netlist and the second netlist. The second netlist has at least one initial corresponding node to be a matching node, and is detected by the node matching means until there is no unmatched node or no matching node is found although there is a mismatched node. The identification value is assigned to the matching node by the identification value giving means, the attribute calculation and grouping are performed by the dividing means for the remaining unmatched nodes, and the process of detecting the matching node by the node matching means is repeatedly executed. It is what. In particular, the identification value giving means may be configured to give a unique identification value to the matching node newly detected by the node matching means.
[0009]
Further, in the invention according to claim 3, in the layout verification apparatus according to claim 1 or 2, when there is an unmatched node and no matching node is found by the node matching means, each group And node matching means for selecting and matching the combination of nodes that produces the least inconsistency when matched in the same group.
[0010]
[Action]
According to the present invention, in the layout verification, an identification value is given to the matching node as one of the attributes, a new attribute is calculated based on the attribute of the non-matching node adjacent to the non-matching node and the attribute of the matching node, Unmatched nodes with the same calculated attributes are extracted and unmatched nodes are grouped, and there is one element node among the divided groups, which corresponds between the first netlist and the second netlist Node is detected as a matching node, a unique identification value is assigned, and the process is repeated, so that the initial correspondence node of the netlist and the node connected to the node whose matching has been verified, Collation proceeds from a unique node, and collation can be performed efficiently.
[0011]
In addition, due to the above collation, when a plurality of nodes have the same attribute and a plurality of corresponding node candidates exist in the same group, it is impossible to collate further. For nodes that do not match, collation can be performed even if there are nodes with similar attributes by selecting a combination with few contradictions for each group by the node collating means and proceeding with collation.
[0012]
【Example】
FIG. 1 is a block diagram showing a first embodiment of a layout verification apparatus according to the present invention. 1 is an identification value assigning means, 2 is a dividing means, and 3 is a node match detecting means. The specifications such as a circuit diagram to be verified and the layout of the LSI are each converted into a netlist and input in advance. At this time, at least one initial corresponding node to be a matching node is designated. Here, the net list extracted from the circuit diagram is referred to as a circuit diagram net list. The net list extracted from the layout is called a layout net list.
[0013]
The identification value giving means 1 receives the input netlist or the processing result of the node match detection means 3 and gives an identification value which is a kind of attribute to the matching node. The dividing unit 2 receives the result of the identification value providing unit 1 and first determines whether there is an unmatched node. As a result, if there is no unmatched node, the two input netlists match, so a match signal is output and the process ends. If there is an unmatched node, a new attribute is calculated for the unmatched node based on the attribute of the adjacent unmatched node and the attribute of the matched node. Unmatched nodes with the same calculated attributes are extracted and divided into groups. The node match detection unit 3 receives the information grouped by the dividing unit 2 and detects a one-to-one correspondence group to match the nodes. That is, there is one node as an element in the divided group, and a node that corresponds between the two netlists is a matching node. If a matching node is found, the process returns to the identification value assigning means 1 and collation is also performed from the found matching node. If there is an unmatched node but no match node is found, no match node is found even if the above-described matching process is repeated. Therefore, the process ends and an unmatched node is output.
[0014]
The attribute information calculated by the dividing means 2 and used for grouping includes, for example, the number of circuit element terminals connected to the node, that is, the number of branches coming out of the node, and the number of circuit element terminals. A sum of values set in advance depending on the type (hereinafter referred to as a terminal value) or the like can be used. Further, it is possible to give a unique identification value to each correspondence only to the matched nodes and use information of the sum of the identification values of adjacent matching nodes (hereinafter referred to as an adjacent value). In addition, for example, a value obtained by adding a terminal value and an adjacent value is used as an attribute value, or a value obtained by adding a terminal value of an identification value and a matching node is added to an adjacent matching node, and the value is used instead of the adjacent value. Various values can be used, such as using. These values can be appropriately selected and used in combination.
[0015]
An identification value can be assigned in advance to the initial corresponding node of the given netlist. In this case, since it is not necessary to assign the identification value to the initial correspondence node first, the information of the netlist is given to the dividing means 2, and the dividing means 2, the node matching means 3, and the identification value assigning means 1 in this order. You just need to proceed.
[0016]
FIG. 3 is a flowchart for explaining an example of the operation of the first embodiment of the layout verification apparatus of the present invention. In S11, when the circuit diagram and the netlist of the layout are given, the identification value assigning means 1 matches the initial correspondence nodes given in advance, and the node of the matched circuit diagram netlist and the node of the layout netlist are matched. Give the same identification value. In S12, the dividing unit 2 determines whether there is an unmatched node. If there is no unmatched node, all circuit diagram netlist nodes and layout netlist nodes match, so a signal indicating that the circuit diagram and layout match is output and the process ends. If there is an unmatched node, the process proceeds to S13.
[0017]
In S13, the dividing unit 2 calculates the attributes such as the number of branches connected to the node, the terminal value, and the adjacent value for the unmatched nodes, and the nodes of the circuit diagram netlist are calculated based on these attributes. Divide layout netlist nodes into groups. There is a high possibility that circuit diagram nodes and layout nodes belonging to the same group of attributes correspond to each other. Therefore, in S14, the node matching unit 3 determines whether or not there is a group in which a node in the circuit diagram netlist and a node in the layout netlist have a one-to-one correspondence. If there is a group corresponding to one-to-one, it is determined as a matched node in S15. In S16, the identification value giving means 1 gives an identification value to the newly matched node. Then, the process returns to S12 and the processing is continued. In S14, when a group corresponding to one-to-one is not found, it is determined that the circuit diagram and the layout do not match, and the mismatch information is output.
[0018]
FIG. 4 is a block diagram showing a more specific example in the first embodiment of the layout verification apparatus of the present invention. In the figure, 21 is a node set storage means, 22 is a matched node storage means, 23 is an unmatched node storage means, 24 is adjacent information extraction means, 25 is an in-set node comparison means, 26 is an unmatched node reorganization means, 27 Is an inter-set node comparing means, 28 is a matching node extracting means, 29 is a result notifying means, and 30 is an identification value giving means. In this specific example, it is assumed that the identification value given to the initial match node is given in advance and stored in the match node storage unit 22.
[0019]
The node set storage means 21 stores at least one initial correspondence node, and a node set of a circuit diagram netlist and a layout netlist having the number of elements, the type of elements, and the connection relationship between the nodes. The coincidence node storage unit 22 stores a coincidence node set among the nodes of the circuit diagram net list and the layout net list. In the initial state, the initial matching node of each netlist is stored. The unmatched node storage unit 23 stores unmatched node sets. In the initial state, nodes other than the initial corresponding node among the node sets of each netlist are stored as unmatched node sets.
[0020]
The adjacency information extracting unit 24 stores the node adjacency relationship, the number of nodes adjacent to the unmatched node stored in the unmatched node storage unit 23, the number of elements, and the matched node storage unit 22 from the node set storage unit 21. The number of matching nodes and the identification value of the matching node are extracted, and the attribute value of each unmatched node is calculated. The value of this attribute is stored in the unmatched node storage unit 23 corresponding to each unmatched node. The intra-set node comparison unit 25 compares the attribute values extracted and calculated by the adjacent information extraction unit 24 for each circuit diagram netlist and layout netlist. The unmatched node reorganization means 26 groups and reorganizes the unmatched nodes included in the unmatched node storage means 23 based on the comparison result by the in-set node comparison means 25, and the result is the unmatched node storage means 23. Remember me.
[0021]
The inter-set node comparison unit 27 compares the attribute values calculated by the adjacent information extraction unit 24 between the unmatched node sets of the circuit diagram netlist and the layout netlist reorganized by the non-matching node reorganization unit 26. To do. The matching node extraction unit 28 detects matching node pairs based on the comparison result by the inter-set node comparison unit 27. Each node pair that has newly detected a match is given a unique identification value, stored in the matching node storage unit 22, and deleted from the unmatched node storage unit 23.
[0022]
When these processes are repeated and there are no nodes included in the unmatched node storage unit 23, the result notification unit 29 outputs that the circuit diagram and the layout match. Also, if no matching node pair is detected by the matching node extraction unit 28 and there is a node stored in the unmatched node storage unit 23, it is determined that the circuit diagram and the layout do not match, and the result is notified. The unmatched node stored in the unmatched node storage unit 23 is output from the means 29 as a mismatched node.
[0023]
As described above, in the first embodiment, by using the number of branches, the type of circuit element, text information, and matched node information, a node connected to a matched node, a network Matching proceeds from a unique node in the list. However, in the above-described first embodiment, when it is divided into groups, if it is not one-to-one correspondence, it is not identified as a match, so it corresponds to the presence of nodes having similar attributes. There is a problem that verification ends even if nodes remain. In order to avoid this, if there is an unmatched node in the node matching means 3 in FIG. 1 and a one-to-one correspondence group is not found, the remaining nodes can be verified using another matching means. Good.
[0024]
FIG. 5 is a block diagram showing a second embodiment of the layout verification apparatus of the present invention. In the figure, the same parts as those in FIG. 4 is a node collation means. The node matching unit 4 detects a matching node for each group grouped by the node matching unit 3 and minimizes the number of nodes left as unmatched nodes. Conventionally used methods can be used for detection of matching nodes performed for each group. When the node matching unit 4 is executed, a match is already detected in most nodes, and unmatched nodes are also grouped. The matching process actually performed by the node matching unit 4 is the entire matching process. Only a small part of the process. Therefore, even if the conventional time-consuming collation method is applied to the node collation means 4, it does not affect so much as compared with the entire processing time. For example, even if a verification method that verifies all combinations is used, the verification time is proportional to the square of the number of nodes. However, most of the nodes match by attribute matching, and unmatched nodes are grouped. Since they are divided, the number of combinations is very small, and the processing is completed in a very short time.
[0025]
FIG. 6 is a flowchart for explaining an example of the operation of the second embodiment of the layout verification apparatus of the present invention. In the figure, the operations of S11 to S16 are the same as those of the first embodiment. In other words, a collation method is performed in which the number of branches, circuit element types, text information, information nodes of matched nodes, etc. are used as attributes, and verification of matching is advanced by dividing into groups based on attributes. To do. These operations are realized by the identification value assigning means 1, the dividing means 2, and the node matching means 3.
[0026]
In S14, if a one-to-one correspondence group is not found even though there are still unmatched nodes, that is, a plurality of nodes have the same attribute, and a plurality of corresponding node candidates in the same group In this second embodiment, collation by the node collation means 4 is performed when no further collation can be performed due to the presence of. In S17, the node verification unit 4 performs connection verification so as to select and match the combination of nodes with the least occurrence of contradiction when they are matched in the same group. The result of this collation process is determined in S18, and if there is no unmatched node, it is determined that the circuit diagram and the layout match, and a match signal is output, and the process ends. If there is still an unmatched node, it is determined that the circuit diagram and the layout do not match, and a mismatch signal is output to end the process. At this time, non-matching nodes are reduced as a result of matching by the node matching means 4, and the mismatched portion can be presented to the user more accurately.
[0027]
Next, specific examples in the first and second embodiments of the layout verification apparatus of the present invention will be described. FIG. 7 is an explanatory diagram of a circuit example used in specific examples of the first and second embodiments of the layout verification apparatus of the present invention, and FIG. 8 is a net list of the circuit of FIG. In the figure, 101 to 115 are 2-terminal elements, 201 to 206 are 3-terminal elements, 301 is a power source, 401 to 420 are wirings, and 501 to 520 are nodes. Consider a circuit in which each element is wired as shown in FIG. In the two-terminal elements 101 to 115, weights of 1 and 2 are given to the respective terminals. In the three-terminal elements 201 to 206, weights of 3, 4, and 5 are given to the respective terminals. Further, a weight of 6 is assigned to the negative electrode of the power supply 301 and a weight of 7 is assigned to the positive electrode. The circuit shown in FIG. 7 is converted into the net list shown in FIG. In FIG. 8, the nodes 501 to 520 correspond to the wirings 401 to 420 in FIG. The initial corresponding node designated at this time is a node 501.
[0028]
First, the case where the circuit diagram netlist and the layout netlist match will be described based on the flowchart shown in FIG. 6 and the process diagrams shown in FIGS. 9 to 12 are process diagrams when the netlists of the specific examples match. As attributes used in the following description, the number of branches from a node, a terminal value, and an adjacent value are used as a set, and an identification value is used in a matching node. Further, it is assumed that both the circuit diagram net list and the layout net list are the net lists shown in FIG.
[0029]
When the netlist and the initial correspondence node shown in FIG. 8 are given, first, in S11, the initial correspondence nodes 501 of the two netlists are made to coincide and an identification value is given. Here, 1 is given as the identification value. In S12, there are still unmatched nodes, so the process proceeds to S13. In S13, the attribute of the unmatched node is calculated. The calculated results are shown in FIG. The numbers in parentheses are attribute values, the first number is the number of branches, the next is the terminal value, and the last is the adjacent value. A black circle node is a matching node, and a single numerical value is an identification value. When the attribute is calculated, grouping is performed based on the attribute. Here, as an example, the same attributes are grouped together. Then, there are a plurality of groups of nodes 503, 505, 507, a group of nodes 504, 506, 508, 511, 514, 516, 518, a group of nodes 509, 515, 517, 519, and a group of nodes 512, 513. The nodes 502, 510, and 520 each form a group of one node. In S14, it is determined whether or not there is a one-to-one correspondence group. Since the nodes 502, 510, and 520 are groups corresponding to one-to-one, these nodes are matched in S15. In S16, an identification value is given to the newly matched nodes 502, 510, and 520. For example, the identification value 2 is given to the node 502, the identification value 3 is given to the node 510, and the identification value 4 is given to the node 520. Then, the process returns to S12.
[0030]
In S12, since there is an unmatched node, the process proceeds to S13. In S13, the attribute of the unmatched node is calculated. The calculated result is shown in FIG. When the attribute is calculated, grouping is performed based on the attribute. Then, the group of nodes 504, 506, 508, 511, 514, 516, 518 is divided into a group of nodes 504, 506, 508, a group of nodes 511, and a group of nodes 514, 516, 518. The group of nodes 509, 515, 517, and 519 is divided into a group of nodes 509 and a group of nodes 515, 517, and 519. There is no change in other groups. Here, the node 511 and the node 509 form a one-to-one group. In S14, it is determined that there is a group corresponding to one-to-one, and in S15, the nodes 509 and 511 corresponding to one-to-one are matched. These matching nodes 509 and 511 are nodes retrieved from the nodes 510 other than the initial corresponding node. As described above, in the method of the present invention, the matching nodes spread from nodes other than the initial corresponding node. In S16, an identification value is given to the nodes 509 and 511 that are newly matched nodes. For example, the identification value 5 is given to the node 509 and the identification value 6 is given to the node 511. Then, the process returns to S12.
[0031]
In S12, since there is an unmatched node, the process proceeds to S13. In S13, the attribute of the unmatched node is calculated. The calculated results are shown in FIG. When the attribute is calculated, grouping is performed based on the attribute. Then, the nodes 503, 504, 514, and 515 are divided from each group to become independent groups. In S14, it is determined that there is a group corresponding to one to one, and in S15, the nodes 503, 504, 514, and 515 corresponding to one to one are matched. In S16, an identification value is given to the nodes 503, 504, 514, and 515 that are newly matched nodes. Then, the process returns to S12.
[0032]
Since there is an unmatched node in S12, the attribute of the unmatched node is calculated in S13. This state is shown in FIG. However, since there is no group that is further divided and has a one-to-one correspondence, the process proceeds from S14 to S17. In S17, the correspondence of the nodes in the group with the least contradiction is examined. The collation at this time is only 10 nodes that are unmatched nodes. As a result, the remaining unmatched nodes 505 to 508 are matched with the matches of 516 to 519. In S18, it is confirmed that there is no unmatched node, and a signal indicating that the circuit diagram and the layout match is output.
[0033]
Next, the case where the circuit diagram netlist and the layout netlist do not match will be described with reference to the flowchart shown in FIG. 6, the circuit example shown in FIGS. 7 and 13, and the process diagrams shown in FIGS. FIG. 13 is an explanatory diagram of an erroneous circuit example, and FIGS. 14 and 15 are process diagrams when the netlists of the specific examples do not match. In this specific example, as shown in FIG. 13, a case where the two-terminal elements 107 are connected in reverse is considered. Here, it is assumed that the circuit diagram netlist is based on the circuit shown in FIG. 7, and the layout netlist is based on the layout corresponding to the circuit shown in FIG. The initial correspondence node is a node 501.
[0034]
First, in S11, the initial corresponding nodes are matched, and for example, 1 is given as the identification value. In S12, it is determined that there is an unmatched node, and the process proceeds to S13. In S13, attributes are calculated for unmatched nodes. The calculated attributes are as shown in FIG. 9 corresponding to FIG. 7 in the circuit diagram netlist, but in the layout netlist, the attributes of the nodes 502 and 508 are different due to the reverse connection of the two-terminal element 107. The result is as shown in FIG. Here, only the node 510 corresponds to one-to-one. The node 520 is uniquely determined in the circuit diagram netlist. However, in the layout netlist, the node 502 and the node 520 have the same attribute and are not one-to-one correspondence nodes. The node 508 in the layout net list is uniquely determined as an attribute, but is not a one-to-one correspondence node because there is no node in the corresponding circuit net list. Grouping is performed based on the attributes. In S14, it is determined that there is a one-to-one correspondence node. In S15, the node 510 corresponding to one-to-one correspondence is made. In S16, an identification value 2 is given. Then, the process returns to S12 and proceeds to the second process.
[0035]
Similarly, in the second process, since the nodes 509 and 511 correspond one-to-one, these nodes are made to coincide with each other, and identification values 3 and 4 are given. In the third process, the nodes 503, 504, 514, and 515 have a one-to-one correspondence. Therefore, these nodes are matched and given identification values 5, 6, 7, and 8. In the fourth process, the nodes 520 correspond one-to-one. This state is shown in FIG. FIG. 15A shows the process of the circuit netlist, and FIG. 15B shows the process of the layout netlist. As a result, the attribute of the node 502 in the layout netlist is uniquely determined. However, since there is no node in the corresponding circuit diagram netlist, the node does not correspond to one-to-one. An identification value 9 is assigned to the node 520.
[0036]
In the fifth process, there is no node corresponding to one-to-one. Therefore, in S14, it is determined that there is no one-to-one correspondence group, and the process moves to S17 to check the correspondence of the nodes in the group having the least contradiction. At this time, it is only necessary to check nine nodes that are not matched. This collation determines that the nodes 505, 506, 507, 512, 513, 516, 517, 518, and 519 correspond, but the nodes 502 and 508 do not match. Therefore, in S18, it is determined that there is an unmatched node, and a signal indicating that the circuit diagram and the layout do not match is output. At this time, the node 502 and the node 508 that are mismatched nodes are output. In accordance with this output, for example, a mismatched portion can be displayed on a display or the like on which a circuit diagram or layout is displayed. Thereby, the user can recognize the inconsistent part. At this time, the mismatched node 502 and node 508 are nodes connected to the two-terminal element 107, so that the reverse-connected two-terminal element 107 can be correctly shown to the user. The user may check the two-terminal element 107 based on this.
[0037]
【The invention's effect】
As is apparent from the above description, according to the present invention, in layout verification, when a circuit diagram and a layout do not match, it is possible to efficiently detect a node causing a connection mismatch. effective.
In addition, by using a combination of matching methods that match nodes so that the number of mismatched nodes is minimized, even if there are unmatched nodes left by the method of matching by attribute, a true mismatched node from among them It is possible to detect this.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a first embodiment of a layout verification apparatus of the present invention.
FIG. 2 is a block diagram illustrating an example of a general layout verification apparatus.
FIG. 3 is a flowchart for explaining an example of the operation of the first exemplary embodiment of the layout verification apparatus of the present invention;
FIG. 4 is a block diagram showing a slightly specific example in the first embodiment of the layout verification apparatus of the present invention.
FIG. 5 is a block diagram showing a second embodiment of the layout verification apparatus of the present invention.
FIG. 6 is a flowchart for explaining an example of the operation of the second embodiment of the layout verification apparatus of the present invention;
FIG. 7 is an explanatory diagram of a circuit example used in a specific example of the first and second embodiments of the layout verification apparatus of the present invention.
8 is a netlist of the circuit of FIG.
FIG. 9 is a part of a process diagram when the netlists of the specific examples match.
FIG. 10 is a part of a process diagram when netlists of specific examples match.
FIG. 11 is a part of a process diagram when the netlists of the specific examples match.
FIG. 12 is a part of a process diagram when the netlists of the specific examples match.
FIG. 13 is an explanatory diagram of an erroneous circuit example.
FIG. 14 is a part of a process diagram when the netlists of the specific example do not match.
FIG. 15 is a part of a process diagram when the netlists of the specific example do not match;
[Explanation of symbols]
1 discriminating value assigning means, 2 dividing means, 3 node coincidence detecting means, 4 node collating means, 21 node set storing means, 22 matching node storing means, 23 non-matching node storing means, 24 adjacent information extracting means, 25 nodes in the set Comparison means, 26 unmatched node reorganization means, 27 inter-set node comparison means, 28 matched node extraction means, 29 result notification means, 30 identification value assignment means.

Claims (3)

回路図等の仕様書から抽出した第1のネットリストとレイアウトから抽出した第2のネットリストの照合を行ない、レイアウトの検証を行なうレイアウト検証装置において、一致ノードに属性の1つとして識別値を与える識別値付与手段と、未一致ノードに対して隣接する未一致ノードの属性及び一致ノードの属性に基づき新たな属性を計算し属性が同じ未一致ノードを抽出して未一致ノードのグループ分けを行なう分割手段と、該分割手段により分けられたグループのうちあるグループ内に要素となるノードが1つ存在し当該ノードが前記第1のネットリストと前記第2のネットリスト間で対応が取れた場合に当該ノードを一致ノードとして検出するノード一致手段を有し、前記第1及び第2のネットリストは一致ノードとなる少なくとも1つの初期対応ノードを有しており、未一致ノードがなくなるかあるいは未一致ノードがありながら一致ノードが見つからなくなるまで、前記ノード一致手段で検出された一致ノードに識別値付与手段で識別値を付与し、残った未一致ノードについて分割手段で属性の計算及びグループ分けを行ない、ノード一致手段で一致ノードを検出する処理を繰り返して実行させることを特徴とするレイアウト検証装置。In a layout verification apparatus that performs verification of a layout by comparing a first netlist extracted from a specification such as a circuit diagram with a second netlist extracted from a layout, an identification value is assigned as one of the attributes to a matching node. A new attribute is calculated based on the attribute value assigning means to be given and the attribute of the unmatched node adjacent to the unmatched node and the attribute of the match node, and the unmatched nodes having the same attribute are extracted to group the mismatched nodes There is one node as an element in a certain group among the dividing means to be performed and the group divided by the dividing means, and the node can correspond between the first netlist and the second netlist. A node matching means for detecting the node as a matching node, and the first and second netlists are at least matching nodes There are two initial correspondence nodes, and the identification value is assigned to the matching node detected by the node matching means until there is no unmatched node or no matching node is found even though there is an unmatched node. Then, the layout verification apparatus is characterized in that attributes are calculated and grouped by the dividing unit for the remaining unmatched nodes, and the process of detecting the matching nodes by the node matching unit is repeatedly executed. 前記識別値付与手段は、前記ノード一致手段で新たに検出された一致ノードに対して固有の識別値を付与することを特徴とする請求項1に記載のレイアウト検証装置。The layout verification apparatus according to claim 1, wherein the identification value assigning unit assigns a unique identification value to a matching node newly detected by the node matching unit. 前記ノード一致手段において、未一致ノードが存在しかつ一致ノードが見つからなかったとき、各グループごとに同一グループ内で一致させたとき最も矛盾の発生が少ないノードの組み合わせを選択し一致させるように接続照合を行なうノード照合手段をさらに有することを特徴とする請求項1または請求項2に記載のレイアウト検証装置。In the node matching means, when there is an unmatched node and a matching node is not found, a combination of nodes having the least inconsistency is selected and matched for each group when matched within the same group. 3. The layout verification apparatus according to claim 1, further comprising node verification means for performing verification.
JP09370793A 1993-03-29 1993-03-29 Layout verification device Expired - Fee Related JP3640402B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP09370793A JP3640402B2 (en) 1993-03-29 1993-03-29 Layout verification device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP09370793A JP3640402B2 (en) 1993-03-29 1993-03-29 Layout verification device

Publications (2)

Publication Number Publication Date
JPH06282604A JPH06282604A (en) 1994-10-07
JP3640402B2 true JP3640402B2 (en) 2005-04-20

Family

ID=14089888

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09370793A Expired - Fee Related JP3640402B2 (en) 1993-03-29 1993-03-29 Layout verification device

Country Status (1)

Country Link
JP (1) JP3640402B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015132870A (en) * 2014-01-09 2015-07-23 富士通株式会社 Layout verification method, verification layout data creation method, layout verification program, and verification layout data generation program

Also Published As

Publication number Publication date
JPH06282604A (en) 1994-10-07

Similar Documents

Publication Publication Date Title
Prasad et al. Selection of test nodes for analog fault diagnosis in dictionary approach
Berman et al. Functional comparison of logic designs for VLSI circuits
JP3201945B2 (en) How to compare database tables
JPH1063707A (en) Device and method for logic circuit verification
KR100436472B1 (en) Method for implementing circuit designs in physical circuits
US5491639A (en) Procedure for verifying data-processing systems
JP2001022820A (en) Verifying method of sequential circuit
CN111475402A (en) Program function testing method and related device
Litovsky et al. On the recognition of families of graphs with local computations
US7149675B2 (en) System and method for automatically mapping state elements for equivalence verification
CN114816266A (en) Metadata repairing method, system, storage medium and equipment
JP3640402B2 (en) Layout verification device
US6941497B2 (en) N-squared algorithm for optimizing correlated events
US6526544B1 (en) Directly verifying a black box system
Koufareva et al. Test generation driven by user-defined fault models
Roberts et al. Algorithm to detect reconvergent fanouts in logic circuits
Ramachandran An improved switch-level simulator for MOS circuits
Yan et al. A fuzzy clustering algorithm for graph bisection
Ravikumar A fault-tolerant merge sorting algorithm
CN115935890B (en) Circuit identification method, circuit identification device, electronic equipment and computer readable storage medium
JPH05119896A (en) Character string input system
Mohebifar New binary representation in genetic algorithms for solvingTSP by mapping permutations to a list of ordered numbers.
CN112765174B (en) Hash connection-based detection method, device, equipment and storage medium
Shen et al. Graph algorithms for conformance testing using the rural chinese postman tour
JP3042446B2 (en) Electrostatic breakdown verification tool

Legal Events

Date Code Title Description
A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050118

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees