JP2009163777A - 設計ルール検証プログラム、該プログラムを記録した記録媒体、および設計ルール検証装置 - Google Patents

設計ルール検証プログラム、該プログラムを記録した記録媒体、および設計ルール検証装置 Download PDF

Info

Publication number
JP2009163777A
JP2009163777A JP2009108132A JP2009108132A JP2009163777A JP 2009163777 A JP2009163777 A JP 2009163777A JP 2009108132 A JP2009108132 A JP 2009108132A JP 2009108132 A JP2009108132 A JP 2009108132A JP 2009163777 A JP2009163777 A JP 2009163777A
Authority
JP
Japan
Prior art keywords
format data
representative
design rule
data
verification
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.)
Granted
Application number
JP2009108132A
Other languages
English (en)
Other versions
JP4659892B2 (ja
Inventor
Hidetoshi Matsuoka
英俊 松岡
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009108132A priority Critical patent/JP4659892B2/ja
Publication of JP2009163777A publication Critical patent/JP2009163777A/ja
Application granted granted Critical
Publication of JP4659892B2 publication Critical patent/JP4659892B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】設計ルールが複雑化しても効率的に検証期間の短縮化を図ること。
【解決手段】レイアウトデータ200は、半導体回路を構成する配線、ビア、電源回路などの物体を表した図形情報である。レイアウトデータ200は、具体的には、物体を示す物体形式データ201と、代表形式データ202とを有している。設計ルール検証装置300は、取得部301と、検証部302と、出力部303と、から構成されている。取得部301は、半導体回路内の物体を代表的な点を用いて表現した代表形式データ202を、半導体回路に関するレイアウトデータ200から取得する。また、検証部302は、取得部301によって取得された代表形式データ202に基づいて、レイアウトデータ200が設計ルール310に違反しているか否かを検証する。また、出力部303は、検証部302によって検証された検証結果を出力する。
【選択図】図3

Description

本開示技術は、半導体回路のレイアウトデータが設計ルールに違反しているか否かを検証する設計ルール検証プログラム、該プログラムを記録した記録媒体、および設計ルール検証装置に関する。
LSI設計では、従来から設計期間の短縮による作業効率化が要求されている一方、LSIが正しく動作するかどうかを検証する検証作業が必要不可欠であり、特に、大規模化、高機能化、高速化および低消費電力化が要求されているLSIについては、高品質を維持するためにもこの検証作業は重要である。
通常のレイアウト設計では、グリッドベースの配線手法がおこなわれるため、配線やビアの代表点の座標は、配線グリッドと呼ばれる有限個の格子点上に位置する。また、配線やビアの形状は少数の種類しか存在しない。従来では、代表点を持つ物体の図形データ間の距離を調べることによりレイアウト設計ルールの検証をおこなっていた(たとえば、下記特許文献1,2を参照。)。また現在では、設計ルールが複雑になってきたため、上述したレイアウト設計ルールの検証はおこなわれず、矩形や多角形の物体の図形データを用いた図形演算によりおこなわれている。
特開昭63−56643号公報 特開平6−230067号公報
しかしながら、上述した従来技術では、LSI設計の大規模化にともない、上述した図形演算では、レイアウト設計ルールの検証に時間がかかり、検証作業が長期化するという問題があった。特に、設計ルールが複雑になればなるほど検証作業は長期化するという問題があった。
本開示技術は、上述した従来技術による問題点を解消するため、設計ルールが複雑化しても効率的に検証期間の短縮化を図ることができる設計ルール検証装置、設計ルール検証方法、設計ルール検証プログラム、および記録媒体を提供することを目的とする。
上述した課題を解決し、目的を達成するため、本開示技術にかかる設計ルール検証プログラム、該プログラムを記録した記録媒体、および設計ルール検証装置は、所定の座標系で多角形または頂点を用いて半導体回路内の物体を表現した物体形式データと、前記所定の座標系よりも格子が大きいグリッド座標系の格子点上の代表点または当該代表点および代表点間の線分を用いて前記物体を表現した代表形式データのうち、少なくとも前記代表形式データを含むレイアウトデータを取得し、取得されたレイアウトデータ内の前記代表形式データ間において、一の代表形式データが、他の代表形式データを含む前記グリッド座標系の格子群内に配置されているか否かにより、前記レイアウトデータが設計ルールに違反しているか否かを検証し、検証結果を出力することを要件とする。
本開示技術にかかる設計ルール検証プログラム、該プログラムを記録した記録媒体、および設計ルール検証装置によれば、設計ルールが複雑化しても効率的に検証期間の短縮化を図ることができるという効果を奏する。
実施の形態にかかる設計ルール検証装置のハードウェア構成を示すブロック図である。 実施の形態にかかる半導体回路に関するレイアウトデータの内容を示す説明図である。 実施の形態にかかる設計ルール検証装置の機能的構成を示すブロック図である。 実施の形態にかかる実施例1の設計ルール検証装置の機能的構成の一部を示すブロック図である。 実施の形態にかかる実施例2の設計ルール検証装置の機能的構成の一部を示すブロック図である。 この発明の実施の形態にかかる実施例3の設計ルール検証装置の機能的構成の一部を示すブロック図である。 実施の形態にかかる実施例4の設計ルール検証装置の機能的構成の一部を示すブロック図である。 Linked List構造およびSegment Tree構造を示す説明図である。 Bit Map構造を示す説明図である。 領域設定部によって設定される禁止領域を示す説明図である。 実施例4にかかる設計ルール検証処理手順を示すフローチャートである。 実施の形態にかかる実施例5の設計ルール検証装置の機能的構成の一部を示すブロック図である。 実施例5にかかる設計ルール検証処理手順を示すフローチャートである。 実施の形態にかかる実施例6の設計ルール検証装置の機能的構成の一部を示すブロック図である。 実施例6にかかる検証内容(前半)を示す説明図である。 実施例6にかかる検証内容(後半)を示す説明図である。 実施例6にかかる設計ルール検証処理手順を示すフローチャートである。 擬似エラーの発生を示す説明図である。 実施例7にかかる設計ルール検証装置の機能的構成の一例を示すブロック図である。 実施例7にかかる領域判定処理手順を示すフローチャートである。 実施例7にかかる領域判定処理手順を示すフローチャートである。
以下に添付図面を参照して、本開示技術にかかる設計ルール検証プログラム、該プログラムを記録した記録媒体、および設計ルール検証装置の好適な実施の形態を詳細に説明する。
(設計ルール検証装置のハードウェア構成)
まず、実施の形態にかかる設計ルール検証装置のハードウェア構成について説明する。図1は、実施の形態にかかる設計ルール検証装置のハードウェア構成を示すブロック図である。
図1において、設計ルール検証装置は、CPU101と、ROM102と、RAM103と、HDD(ハードディスクドライブ)104と、HD(ハードディスク)105と、FDD(フレキシブルディスクドライブ)106と、着脱可能な記録媒体の一例としてのFD(フレキシブルディスク)107と、ディスプレイ108と、I/F(インターフェース)109と、キーボード110と、マウス111と、スキャナ112と、プリンタ113と、を備えている。また、各構成部はバス100によってそれぞれ接続されている。
ここで、CPU101は、設計ルール検証装置の全体の制御を司る。ROM102は、ブートプログラムなどのプログラムを記憶している。RAM103は、CPU101のワークエリアとして使用される。HDD104は、CPU101の制御にしたがってHD105に対するデータのリード/ライトを制御する。HD105は、HDD104の制御で書き込まれたデータを記憶する。
FDD106は、CPU101の制御にしたがってFD107に対するデータのリード/ライトを制御する。FD107は、FDD106の制御で書き込まれたデータを記憶したり、FD107に記憶されたデータを設計ルール検証装置に読み取らせたりする。
また、着脱可能な記録媒体として、FD107のほか、CD−ROM(CD−R、CD−RW)、MO、DVD(Digital Versatile Disk)、メモリーカードなどであってもよい。ディスプレイ108は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ108は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
I/F109は、通信回線を通じてインターネットなどのネットワーク114に接続され、このネットワーク114を介して他の装置に接続される。そして、I/F109は、ネットワーク114と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F109には、たとえばモデムやLANアダプタなどを採用することができる。
キーボード110は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス111は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ112は、画像を光学的に読み取り、設計ルール検証装置内に画像データを取り込む。なお、スキャナ112は、OCR機能を持たせてもよい。また、プリンタ113は、画像データや文書データを印刷する。プリンタ113には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
(レイアウトデータの内容)
つぎに、実施の形態にかかる半導体回路に関するレイアウトデータの内容について説明する。図2は、実施の形態にかかる半導体回路に関するレイアウトデータの内容を示す説明図である。図2において、レイアウトデータ200は、半導体回路を構成する配線、ビア、電源回路などの物体を表した図形情報である。レイアウトデータ200は、たとえば、DEF/LEFフォーマットで構成されている。レイアウトデータ200は、具体的には、物体を示す物体形式データ201と、代表形式データ202とを有している。
物体形式データ201は、その物体の頂点の座標によって構成されている。たとえば、物体形式データ211は、配線をあらわしており、頂点数は4である。また、物体形式データ212は、2本の配線が連結された図形をあらわしており、頂点数は6である。また、物体形式データ213は、2つの配線とビアとが連結された図形をあらわしており、頂点数は12である。
また、代表形式データ202は、半導体回路内の物体を代表的な点を用いて表現したデータである。ビアを表している代表形式データ221は、グリッドの格子点上にある点(代表点)221aの座標と代表点221aからビアの外縁までの距離とから構成されている。
また、配線の代表形式データは、両端の点(代表点)と、その代表点間の線分と、当該線分を中心とした配線の線幅と、から構成されている。たとえば、代表形式データ222は、代表点222a,222bと線分222cと線幅222dで構成される。なお、代表形式データ223は、代表点223a,223bと線分223cと線幅223dで構成され、代表形式データ224は、代表点223a,224bと線分224cと線幅224dで構成される。
なお、実際のレイアウトデータでは、そのほとんどが代表形式データであり、残りのデータが物体形式データである。また、すべてのレイアウトデータが物体形式データの場合もある。すなわち、レイアウトデータには、少なくとも物体形式データが含まれていればよい。
(設計ルール検証装置の機能的構成)
つぎに、実施の形態にかかる設計ルール検証装置の機能的構成について説明する。図3は、実施の形態にかかる設計ルール検証装置の機能的構成を示すブロック図である。図3において、設計ルール検証装置300は、取得部301と、検証部302と、出力部303と、から構成されている。
取得部301は、半導体回路内の物体を代表的な点を用いて表現した代表形式データ202を、半導体回路に関するレイアウトデータ200から取得する。また、検証部302は、取得部301によって取得された代表形式データ202に基づいて、レイアウトデータ200が設計ルール310に違反しているか否かを検証する。また、出力部303は、検証部302によって検証された検証結果を出力する。取得部301および検証部302の具体的内容については後述する。なお、上述した取得部301、検証部302および出力部303は、具体的には、たとえば、図1に示したROM102、RAM103、HD105などの記録媒体に記録されたプログラムを、CPU101に実行させることによって、またはI/F109によって、その機能を実現する。
つぎに、実施の形態にかかる実施例1の設計ルール検証装置について説明する。図4は、実施の形態にかかる実施例1の設計ルール検証装置の機能的構成の一部を示すブロック図である。図4は、図3に示した取得部301内部の機能的構成の一例を示している。図4において、取得部301は、抽出部401と、既存のデータ形式変換ツールであるデータ形式変換部402とから構成されている。この実施例1では、レイアウトデータ200内において、多くが代表形式データ202で、物体形式データ201が一部混在している例である。
抽出部401は、レイアウトデータ200の中から、検証対象条件に合致する代表形式データ411を抽出する。ここで検証対象条件とは、検証対象となる代表形式データを特定する条件であり、代表形式データが有する属性によって判断される。たとえば、ネットの属性で判断する場合、たとえば、一般デジタル信号配線をあらわす代表形式データ411を抽出することができる。また、物体のサイズで判断する場合、たとえば、配線については、線幅x[nm]、線間隔y[nm]の代表形式データ411を抽出することができ、また、ビアについては、縦横z[nm]寸法の代表形式データ411を抽出することができる。
また、データ形式変換部402は、一般の変換ツールを適用することができ、レイアウトデータ200内のすべての代表形式データ202を、たとえば、GDSフォーマットなどの物体形式データ412に変換する。また、物体形式データ412には、レイアウトデータ200内の物体形式データ201も含まれる。この取得部301によって取得された代表形式データ411および物体形式データ412は、検証部302に出力される。このように、この実施例1によれば、既存のデータ形式変換ツール(データ形式変換部402)を用いて構成することができるため、簡単な改良により、代表形式データ411を取得することができる。
つぎに、実施の形態にかかる実施例2の設計ルール検証装置について説明する。図5は、実施の形態にかかる実施例2の設計ルール検証装置の機能的構成の一部を示すブロック図である。図5は、図3に示した取得部301内部の機能的構成の一例を示している。この実施例2では、レイアウトデータ200内において、多くが代表形式データ202で、物体形式データ201が一部混在している例であり、実施例1に比べて取得処理の高速化を実現することができる。
図5において、取得部301は、振分け部501と、データ形式変換部502とから構成されている。振分け部501は、レイアウトデータ200の中から代表形式データ202を抽出し、検証対象条件に合致する代表形式データ511と合致しない代表形式データ512とに振り分ける。ここで検証対象条件とは、実施例1で説明した内容と同一であるため、ここでは省略する。
また、データ形式変換部502は、振分け部501において検証対象条件に合致しない代表形式データ512を、たとえば、GDSフォーマットなどの物体形式データ521に変換する。この取得部301によって取得された代表形式データ511および物体形式データ521は、検証部302に出力される。
このように、この実施例2によれば、データ形式変換部502で変換されるデータは、実施例1のようにすべての代表形式データ202ではなく、所定条件に合致しない代表形式データに限定されるため、無駄なデータ変換を防止して、検証処理速度の向上を図ることができる。
つぎに、実施の形態にかかる実施例3の設計ルール検証装置について説明する。図6は、実施の形態にかかる実施例3の設計ルール検証装置の機能的構成の一部を示すブロック図である。図6は、図3に示した取得部301内部の機能的構成の一例を示している。この実施例3では、レイアウトデータ200内のデータがすべてGDSフォーマットなどの物体形式データ201となっている例である。
図6において、取得部301は、振分け部601と、データ形式変換部602とから構成されている。振分け部601は、レイアウトデータ200の中から物体形式データ201を抽出し、検証対象条件に合致する物体形式データ611と合致しない物体形式データ612とに振り分ける。ここで検証対象条件とは、実施例1で説明した内容と同一であるため、ここでは省略する。
また、データ形式変換部602は、振分け部601において検証対象条件に合致しない物体形式データ612を、代表形式データ621に変換する。この取得部301によって取得された物体形式データ611および代表形式データ621は、検証部302に出力される。
このように、この実施例3によれば、レイアウトデータ200に代表形式データ202が存在しない場合であっても、代表形式データ621を得ることができる。代表形式データ621は、物体形式データ611よりもデータ量が軽い。したがって、この代表形式データ621を用いることにより、検証処理速度の向上を図ることができる。また、データ形式変換部602で変換されるデータは、すべての物体形式データ201ではなく、所定条件に合致しない物体形式データ612に限定されるため、無駄なデータ変換を防止して、検証処理速度の向上を図ることができる。
つぎに、実施の形態にかかる実施例4の設計ルール検証装置について説明する。実施例4は、代表形式データ間の設計ルール検証である。図7は、実施の形態にかかる実施例4の設計ルール検証装置の機能的構成の一部を示すブロック図である。図7は、図3に示した検証部302内部の機能的構成の一例を示している。なお、図3に示した取得部301については、上述した実施例1〜3のいずれの取得部301を適用してもよい。したがって、図7(図12および図14も同様)においては、代表形式データ411、511、621をまとめて、代表形式データ700と称す。
図7において、検証部302は、データ構造変換部701と、指定部702と、領域設定部703と、領域判定部704と、から構成されている。データ構造変換部701は、代表形式データ700を、アクセスが高速なデータ構造の代表形式データ710に変換する。データ構造の変換例としては、Linked List構造やSegment Tree構造、またはBit Map構造を用いることができる。
ここで、Linked List構造およびSegment Tree構造について説明する。図8は、Linked List構造およびSegment Tree構造を示す説明図である。図8において、代表形式データ700は、配線をあらわす代表形式データA〜E,Gおよびビアをあらわす代表形式データFから構成されている。
Linked List構造711は、たとえば、行番号と物体が関連付けられており、行を指定すると、その行に配置されている物体を抽出することができる構造である。たとえば、a行を指定すると、代表形式データAを抽出でき、b行を指定すると代表形式データBおよびCを抽出でき、c行を指定すると代表形式データD〜Gを抽出することができる。
また、Segment Tree構造712は、列番号を用いたツリー構造であり、指定された列番号に交差する物体を抽出することができる構造である。たとえば、Segment Tree構造712では、代表形式データA,Eは8列目のグリッド線に交差していることを示しており、代表形式データBは4列目のグリッド線に交差していることを示しており、代表形式データDは2列目のグリッド線に交差していることを示しており、代表形式データGは12列目のグリッド線に交差していることを示しており、代表形式データC,Fは10列目のグリッド線に交差していることを示している。このように計算幾何学的なデータ構造に変換することにより、高速にアクセスすることができる。
また、図9は、Bit Map構造を示す説明図である。図9において、代表形式データ700は、代表点901,902と代表点901,902間の線分903とで構成されている。Bit Map構造では、代表形式データ700で表現される実際の物体データ910(図中斜線で表示)内の格子点(図中、黒点で表示)から構成される。このように、計算幾何学的なBit Map構造に変換することにより、高速にアクセスすることができる。
また、図7において、指定部702は、取得部301によって取得された代表形式データ700の中から、任意のネットを構成する代表形式データを指定する。具体的には、データ構造変換部701から得られた代表形式データ710の中から指定する。ここで、任意のネットとは、同電位の代表形式データ700の集合である。
また、領域設定部703は、半導体回路の設計ルールに基づいて、取得部301によって取得された代表形式データ700を包含する領域を設定する。具体的には、指定部702によって指定されたネット内の代表形式データ710を包含する領域を設定する。ここで、領域とは、設計ルール310により、他のネットの代表形式データや物体形式データの配置が禁止されている禁止領域である。ここで、禁止領域について図を用いて説明する。
図10は、領域設定部によって設定される禁止領域を示す説明図である。図10において、代表形式データ1001,1002は、指定部702によって指定された代表形式データである。したがって、代表形式データ1001,1002は同一ネットを構成する代表形式データ、すなわち、同電位の代表形式データである。なお、符号1011は、代表形式データ1001によって表現される物体データであり、符号Rは、代表形式データ1001を含む禁止領域を示している。
領域判定部704は、禁止領域R内に他のネットの代表形式データ(の少なくとも一部)が配置されているか否かを判定する。図10では、代表形式データ1003は、禁止領域内に配置されていないが、他のネットの代表形式データ1004の代表点が禁止領域R内に配置されている。したがって、代表形式データ1003は設計ルール310を遵守しているが、代表形式データ1004は設計ルール310に違反していることとなる。
(設計ルール検証処理手順)
つぎに、実施例4にかかる設計ルール検証処理手順について説明する。図11は、実施例4にかかる設計ルール検証処理手順を示すフローチャートである。まず、代表形式データ700が取得された場合(ステップS1101:Yes)、代表形式データ700のデータ構造変換をおこなう(ステップS1102)。そして、i=1とし、同電位グループのネット数をnとして(ステップS1103)、ネットNiを抽出する(ステップS1104)。
そして、j=1とし、ネットNi内の代表形式データ710(以下、実施例4において「代表形式データDj」と称する)の数をdとすると(ステップS1105)、代表形式データDjの禁止領域Rjを設定する(ステップS1106)。そして、領域判定処理を実行する(ステップS1107)。領域判定処理(ステップS1107)では、まず、禁止領域Rjに、他のネットの代表形式データが配置されているか否かを判定する(ステップS1120)。
他のネットの代表形式データが配置されている場合(ステップS1120:Yes)、検証結果(設計ルール違反)を出力し(ステップS1121)、他のネットの代表形式データが配置されていない場合(ステップS1120:No)、検証結果(設計ルール遵守)を出力する(ステップS1122)。
そして、jをインクリメントし(ステップS1108)、j>dでない場合(ステップS1109:No)、ステップS1107に移行する。これにより、ネットNi内のつぎの代表形式データDjの禁止領域Rjを設定することができる。一方、j>dの場合(ステップS1109:Yes)、iをインクリメントして(ステップS1110)、i>nでない場合(ステップS1111:No)、ステップS1104に移行する。これにより、次のネットNiを抽出することができる。一方、i>nの場合(ステップS1111:Yes)、一連の処理を終了する。
この実施例4によれば、代表形式データ間において、設計ルール検証をおこなうことができ、設計ルール検証の高速化を図ることができる。特に、代表形式データで表現できる物体は、配線やビアなど限られた種類の物体しかなく、また、代表点もグリッドの格子点上に配置されていることが多い。したがって、データ構造を変換することによって、より高速に設計ルール検証を実現することができる。なお、高速化のためにS1106で同一ネットの全禁止領域を設定する方法もある。
つぎに、実施の形態にかかる実施例5の設計ルール検証装置について説明する。実施例5は、代表形式データと物体形式データとの間の設計ルール検証である。図12は、実施の形態にかかる実施例5の設計ルール検証装置の機能的構成の一部を示すブロック図である。図12は、図3に示した検証部302内部の機能的構成の一例を示している。なお、図3に示した取得部301については、上述した実施例1〜3のいずれの取得部301を適用してもよい。したがって、図12(図14も同様)においては、物体形式データ412、521、611をまとめて、物体形式データ1200と称す。また、上述した実施例4と同一構成には同一符号を付し、その説明を省略する。
図12において、検証部302は、指定部1201と領域設定部1202と領域判定部1203とを有している。指定部1201は、取得部301によって取得された物体形式データ1200の中から、任意のネットを構成する物体形式データを指定する。領域設定部1202は、半導体回路の設計ルール310に基づいて、指定部1201によって指定された物体形式データ1200を包含する領域(禁止領域)Rを設定する。禁止領域Rの設定の具体例は、図10と同一であるため省略する。
また、領域判定部1203は、領域設定部1202によって設定された禁止領域R内に、物体形式データ1200が指定されたネット以外の他のネットを構成する代表形式データ700が配置されているか否かを判定する。具体的には、禁止領域R内に、物体形式データ1200が指定されたネット以外の他のネットを構成する代表形式データ710が配置されているか否かを判定する。
(設計ルール検証処理手順)
つぎに、実施例5にかかる設計ルール検証処理手順について説明する。図13は、実施例5にかかる設計ルール検証処理手順を示すフローチャートである。まず、代表形式データ700が取得された場合(ステップS1301:Yes)、代表形式データ700のデータ構造変換をおこなう(ステップS1302)。そして、i=1とし、同電位グループのネット数をnとして(ステップS1303)、ネットNiを抽出する(ステップS1304)。
そして、k=1とし、ネットNi内の物体形式データ1200(以下、実施例5において「物体形式データFk」と称する)の数をfとすると(ステップS1305)、物体形式データFkの禁止領域Rkを設定する(ステップS1306)。そして、領域判定処理を実行する(ステップS1307)。領域判定処理(ステップS1307)では、まず、禁止領域Rkに、他のネットの代表形式データが配置されているか否かを判定する(ステップS1320)。
他のネットの代表形式データが配置されている場合(ステップS1320:Yes)、検証結果(設計ルール違反)を出力し(ステップS1321)、他のネットの代表形式データが配置されていない場合(ステップS1320:No)、検証結果(設計ルール遵守)を出力する(ステップS1322)。
そして、kをインクリメントし(ステップS1308)、k>fでない場合(ステップS1309:No)、ステップS1307に移行する。これにより、ネットNi内のつぎの物体形式データFkの禁止領域Rkを設定することができる。一方、k>fの場合(ステップS1309:Yes)、iをインクリメントして(ステップS1310)、i>nでない場合(ステップS1311:No)、ステップS1304に移行する。これにより、次のネットNiを抽出することができる。一方、i>nの場合(ステップS1311:Yes)、一連の処理を終了する。
この実施例5によれば、代表形式データと物体形式データとの間において、設計ルール検証をおこなうことができ、設計ルール検証の高速化を図ることができる。特に、代表形式データで表現できる物体は、配線やビアなど限られた種類の物体しかなく、また、代表点もグリッドの格子点上に配置されていることが多い。したがって、データ構造を変換することによって、より高速に設計ルール検証を実現することができる。
つぎに、実施の形態にかかる実施例6の設計ルール検証装置について説明する。実施例6は、代表形式データと物体形式データとの間の設計ルール検証である。図14は、実施の形態にかかる実施例6の設計ルール検証装置の機能的構成の一部を示すブロック図である。図14は、図3に示した検証部302内部の機能的構成の一例を示している。なお、図3に示した取得部301については、上述した実施例1〜3のいずれの取得部301を適用してもよい。また、上述した実施例4、5と同一構成には同一符号を付し、その説明を省略する。
検証部302は、データ構造変換部1401と指定部402と領域判定部1403とを備えている。データ構造変換部1401は、領域設定部1202によって領域Rが設定された物体形式データ1200のデータ構造変換をする。データ構造の変換例としては、上述したLinked List構造やSegment Tree構造、またはBit Map構造を用いることができる。ここでは、変換された物体形式データ1400は、Bit Map構造に変換されたものとして説明する。
また、指定部1402は、代表形式データ700の中から、任意のネットに含まれる代表形式データを指定する。領域判定部1403は、指定部1402によって指定された代表形式データ700が、他ネットに含まれている物体形式データ1400内に配置されているか否かを判定する。ここで、実施例6の検証内容について具体的に説明する。
図15−1および図15−2は、実施例6にかかる検証内容を示す説明図である。(A)段階において、図14に示した物体形式データ1200は、物体形式データ1501〜1504を有している。また、図14に示した代表形式データ700は、代表形式データ1511〜1514を有している。
(B)段階において、すべての物体形式データ1501〜1504の禁止領域R1〜R4を設定し、Bit Map構造に変換する。(C)段階において、同電位グループとなるネットN1を指定する。ネットN1は、物体形式データ1501と代表形式データ1511,1512を含んでいる。
(D)段階において、ネットN1内の禁止領域R1を一時的に消去する。(E)段階において、ネットN1内の代表形式データ1511を指定する。(F)段階において、(E)段階で指定された代表形式データ1511が他の禁止領域R2〜R4内に配置されているか否かを判定する。(F)段階では、代表形式データ1511は、禁止領域R2内に配置されていることがわかる。
つぎに、(G)段階において、まだ指定されていない、ネットN1内の代表形式データ1512を指定する。(G)段階では、代表形式データ1512は、他のネット内の禁止領域R2〜R4に含まれていない。そして、(H)段階において、(D)段階で消去した禁止領域R1を元に戻す。このあと、(I)段階において、つぎのネットN2を抽出する。
(設計ルール検証処理手順)
つぎに、実施例6にかかる設計ルール検証処理手順について説明する。図16は、実施例6にかかる設計ルール検証処理手順を示すフローチャートである。まず、すべての物体形式データ1200が取得された場合(ステップS1601:Yes)、すべての物体形式データ1200の禁止領域Rを設定する(ステップS1602)。そして、すべての禁止領域RをBit Map構造に変換する(ステップS1603)。
つぎに、i=1とし、同電位グループのネット数をnとして(ステップS1604)、ネットNiを抽出する(ステップS1605)。そして、j=1とし、ネットNi内の代表形式データ数をmとして(ステップS1606)、領域判定処理を実行する(ステップS1607)。領域判定処理(ステップS1607)では、まず、ネットNi以外の他のネットのBit Map構造の禁止領域Rに、代表形式データ700(以下、実施例6において「代表形式データDj」と称する。)が配置されているか否かを判定する(ステップS1620)。
代表形式データDjが配置されていると判定された場合(ステップS1620:Yes)、検証結果(設計ルール違反)を出力する(ステップS1621)。一方、代表形式データDjが配置されていないと判定された場合(ステップS1620:No)、検証結果(設計ルール遵守)を出力する(ステップS1622)。
このあと、jをインクリメントし(ステップS1608)、j>mでない場合(ステップS1609:No)、ステップS1607に移行して、つぎの代表形式データDjの領域判定処理を実行する。一方、j>mの場合(ステップS1609:Yes)、iをインクリメントし(ステップS1610)、i>nでない場合(ステップS1611:No)、ステップS1605に移行して、つぎのネットNiを抽出する。そして、i>nの場合(ステップS1611:Yes)、一連の処理を終了する。
この実施例6によれば、代表形式データと物体形式データとの間における設計ルール検証をおこなうことができ、設計ルール検証の高速化を図ることができる。特に、代表形式データで表現できる物体は、配線やビアなど限られた種類の物体しかなく、また、代表点もグリッドの格子点上に配置されていることが多い。したがって、データ構造を変換することによって、より高速に設計ルール検証を実現することができる。特に、物体形式データのデータ構造をBit Map構造に変換することにより、検証速度の向上を図ることができる。
つぎに、実施の形態にかかる実施例7の設計ルール検証装置について説明する。実施例7は、いわゆる擬似エラーの可能性がある場合の設計ルール検証である。設計ルール310により、任意の代表形式データ(または物体形式データ)について、隣接する物体が複数種類存在する場合、その種類の数の禁止領域を設定する必要がある。特に、禁止領域がBit Map構造である場合、メモリの使用量が多くなる。したがって、メモリの節約のために最も大きい禁止領域しか設定しなかった場合、擬似エラーが発生する。
図17は、擬似エラーの発生を示す説明図である。なお、図17において、物体X、Yは、代表形式データまたは物体形式データによって構成されているものとする。図17において、たとえば、設計ルール310により、物体Xに対して、他のネットの異なる物体Aの禁止領域Raおよび物体Bの禁止領域Rbの設定が可能な場合、メモリ節約のために禁止領域Rbのみ設定されているものとする。隣接物体Yが物体Bである場合、真のエラー判定、すなわち設計ルール違反の判定結果を得ることができる。
一方、物体Yが物体Aでもある場合、禁止領域Raに配置されていないが、物体Yは禁止領域Rb内に配置されているため、擬似エラー、すなわち、設計ルール違反と判定されてしまうこととなる。したがって、禁止領域Rb内に配置された物体Yが判定対象の物体Bであるか否かにより、擬似エラーか否かを検出する。擬似エラーが検出された場合には、物体Y(すなわち物体A)と物体Xとの間で、従来と同様に図形演算による検証をおこなう。
つぎに、この実施例7にかかる設計ルール検証装置の機能的構成について説明する。図18は、実施例7にかかる設計ルール検証装置の機能的構成の一例を示すブロック図である。図18では、検証部302の一部を示している。図18に示した構成は、実施例5〜7の検証部302(図7、図12、図14を参照)に追加される構成である。したがって、図18に示した領域判定部1801は、図7、図12または図14に示した領域判定部704、1203、1403の総称である。図18において、検証部302は、領域判定部1801のほか、擬似エラー判定部1802と、図形演算検証部1803とを備えている。
擬似エラー判定部1802は、領域判定部1801によって設計ルール違反であると判定された場合、すなわち、エラー判定となった場合、当該エラーが擬似エラーか否かを判定する。図17を用いて具体的に説明すると、物体Yが禁止領域Rb内に配置されている場合、領域判定部1801は、エラー判定する。擬似エラー判定部1802では、エラー判定があった場合、物体Yが物体Aか物体Bかを判定する。物体Aである場合は、当該エラーを擬似エラーと判定し、物体Bである場合は、当該エラーを真のエラーと判定する。
図形演算検証部1803は、擬似エラーと判定された場合、設計ルール310内の禁止領域Raの記述情報に基づいて、物体Xと物体Yとを図形演算して、設計ルール310に違反しているか否かを検証する。この図形演算検証部1803は、従来の検証ツールが有する検証処理機能であるため、ここではその説明を省略する。
(領域判定処理手順)
つぎに、この実施例7にかかる領域判定処理手順について説明する。図19および図20は、実施例7にかかる領域判定処理手順を示すフローチャートである。図19に示したフローチャートは、図11に示したステップS1107と図13に示したステップS1307に代わる手順であり、図20に示したフローチャートは、図16に示したステップS1607に代わる手順である。
まず、図19において、禁止領域に他のネットの代表形式データが配置されているか否かを判定する(ステップS1901)。他のネットの代表形式データが配置されていないと判定された場合(ステップS1901:No)、検証結果(設計ルール遵守)を出力する(ステップS1906)。一方、他のネットの代表形式データが配置されている、すわなち、エラーと判定された場合(ステップS1901:Yes)、当該エラーが擬似エラーか否かを判定する(ステップS1902)。
擬似エラーであると判定された場合(ステップS1902:Yes)、図形演算検証を実行する(ステップS1903)。この図形演算検証により、設計ルール違反である場合(ステップS1904:Yes)、検証結果(設計ルール違反)を出力する(ステップS1905)。一方、この図形演算検証により、設計ルール違反でない場合(ステップS1904:No)、検証結果(設計ルール遵守)を出力する(ステップS1906)。また、ステップS1902において、擬似エラーでないと判定された場合(ステップS1902:No)、検証結果(設計ルール違反)を出力する(ステップS1905)。
また、図20において、他のネットのBit Map構造の禁止領域内に、代表形式データDjが配置されているか否かを判定する(ステップS2001)。他のネットの代表形式データDjが配置されていないと判定された場合(ステップS2001:No)、検証結果(設計ルール遵守)を出力する(ステップS2006)。一方、代表形式データDjが配置されている、すわなち、エラーと判定された場合(ステップS2001:Yes)、当該エラーが擬似エラーか否かを判定する(ステップS2002)。
擬似エラーであると判定された場合(ステップS2002:Yes)、図形演算検証を実行する(ステップS2003)。この図形演算検証により、設計ルール違反である場合(ステップS2004:Yes)、検証結果(設計ルール違反)を出力する(ステップS2005)。一方、この図形演算検証により、設計ルール違反でない場合(ステップS2004:No)、検証結果(設計ルール遵守)を出力する(ステップS2006)。また、ステップS2002において、擬似エラーでないと判定された場合(ステップS2002:No)、検証結果(設計ルール違反)を出力する(ステップS2005)。
この実施例7によれば、設計ルール310により禁止領域が複数種類(Ra、Rb)ある場合であっても、最も大きい禁止領域Rbのみ設定しておくだけでも、設計ルール検証をおこなうことができる。また、禁止領域の設定を必要最小限に抑制することができるため、メモリの使用量を低減することができ、設計ルール検証の高速化を図ることができる。
以上説明したように、実施の形態にかかる設計ルール検証プログラム、該プログラムを記録した記録媒体、設計ルール検証方法、および設計ルール検証装置によれば、半導体回路のレイアウトデータを簡略化することにより、設計ルール検証の高速化を図ることができる。また、設計ルールが複雑な場合であっても、設計ルールに従っているか(違反していないか)を悲観的に判定するスクリーニング手段として用いることができ、検証処理の実行回数を大幅に低減することができる。
なお、本実施の形態で説明した設計ルール検証方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
以上のように、本発明にかかる設計ルール検証プログラム、該プログラムを記録した記録媒体、および設計ルール検証装置は、半導体回路に関するレイアウトデータの設計ルール検証に有用である。
300 設計ルール検証装置
301 取得部
302 検証部
303 出力部
310 設計ルール
401 抽出部
402 データ形式変換部
501、601 振分け部
502、602 データ形式変換部
701 データ構造変換部
702 指定部
703 領域設定部
704 領域判定部

Claims (9)

  1. 所定の座標系で多角形または頂点を用いて半導体回路内の物体を表現した物体形式データと、前記所定の座標系よりも格子が大きいグリッド座標系の格子点上の代表点または当該代表点および代表点間の線分を用いて前記物体を表現した代表形式データのうち、少なくとも前記代表形式データを含むレイアウトデータを取得させる取得工程と、
    前記取得工程によって取得されたレイアウトデータ内の前記代表形式データ間において、一の代表形式データが、他の代表形式データを含む前記グリッド座標系の格子群内に配置されているか否かにより、前記レイアウトデータが設計ルールに違反しているか否かを検証させる検証工程と、
    前記検証工程によって検証された検証結果を出力させる出力工程と、
    をコンピュータに実行させることを特徴とする設計ルール検証プログラム。
  2. 前記代表形式データ群を、所定の検証対象条件に合致する代表形式データと合致しない代表形式データに振り分けさせる振分け工程を前記コンピュータに実行させ、
    前記検証工程は、
    前記振分け工程によって前記検証対象に合致する代表形式データ間において、一の代表形式データが、他の代表形式データを含む前記グリッド座標系の格子群内に配置されているか否かにより、前記レイアウトデータが設計ルールに違反しているか否かを検証させることを特徴とする請求項1に記載の設計ルール検証プログラム。
  3. 前記レイアウトデータに前記物体形式データが含まれている場合、前記物体形式データを前記代表形式データに変換させる変換工程を前記コンピュータに実行させ、
    前記検証工程は、
    前記変換工程によって変換されたものを含む前記代表形式データ間において、一の代表形式データが、他の代表形式データを含む前記グリッド座標系の格子群内に配置されているか否かにより、前記レイアウトデータが設計ルールに違反しているか否かを検証させることを特徴とする請求項1に記載の設計ルール検証プログラム。
  4. 前記レイアウトデータに前記物体形式データが含まれている場合、所定の検証対象条件に合致する物体形式データと合致しない物体形式データに振り分けさせる振分け工程と、
    前記振分け工程によって前記所定の検証対象条件に合致する物体形式データを前記代表形式データに変換させる変換工程とを、前記コンピュータに実行させ、
    前記検証工程は、
    前記変換工程によって変換されたものを含む前記代表形式データ間において、一の代表形式データが、他の代表形式データを含む前記グリッド座標系の格子群内に配置されているか否かにより、前記レイアウトデータが設計ルールに違反しているか否かを検証させることを特徴とする請求項1に記載の設計ルール検証プログラム。
  5. 前記代表形式データをよりアクセスが高速になるデータ構造に変換させる構造変換工程と、
    前記構造変換工程によってデータ構造が変換された代表形式データ群のうち、同電位グループとなる一のネットに属する代表形式データを抽出させる同電位抽出工程と、
    前記同電位抽出工程によって抽出された前記一のネットに属する代表形式データの禁止領域を設定させる領域設定工程と、
    前記領域設定工程によって設定された禁止領域に前記一のネット以外の他のネットに属する代表形式データが配置されているか否かを判定させる領域判定工程と、
    を含むことを特徴とする請求項1〜4のいずれか一つに記載の設計ルール検証プログラム。
  6. 前記設計ルールが複数種類存在する場合、前記領域判定工程によって判定された判定結果が擬似エラーであるか否かを判定させる擬似エラー判定工程を前記コンピュータに実行させ、
    前記検証工程は、
    前記擬似エラー判定工程によって判定された判定結果に基づいて、前記レイアウトデータが設計ルールに違反しているか否かを検証させることを特徴とする請求項5に記載の設計ルール検証プログラム。
  7. 前記検証工程は、
    前記擬似エラー判定工程によって擬似エラーであると判定された場合、前記一のネットに属する代表形式データと前記他のネットに属する代表形式データとの距離に基づく図形演算により、前記レイアウトデータが設計ルールに違反しているか否かを検証させることを特徴とする請求項6に記載の設計ルール検証プログラム。
  8. 請求項1〜7のいずれか一つに記載の設計ルール検証プログラムを記録したコンピュータに読み取り可能な記録媒体。
  9. 所定の座標系で多角形または頂点を用いて半導体回路内の物体を表現した物体形式データと、前記所定の座標系よりも格子が大きいグリッド座標系の格子点上の代表点または当該代表点および代表点間の線分を用いて前記物体を表現した代表形式データのうち、少なくとも前記代表形式データを含むレイアウトデータを取得する取得手段と、
    前記取得手段によって取得されたレイアウトデータ内の前記代表形式データ間において、一の代表形式データが、他の代表形式データを含む前記グリッド座標系の格子群内に配置されているか否かにより、前記レイアウトデータが設計ルールに違反しているか否かを検証する検証手段と、
    前記検証手段によって検証された検証結果を出力する出力手段と、
    を備えることを特徴とする設計ルール検証装置。
JP2009108132A 2009-04-27 2009-04-27 設計ルール検証プログラム、該プログラムを記録した記録媒体、および設計ルール検証装置 Expired - Fee Related JP4659892B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009108132A JP4659892B2 (ja) 2009-04-27 2009-04-27 設計ルール検証プログラム、該プログラムを記録した記録媒体、および設計ルール検証装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009108132A JP4659892B2 (ja) 2009-04-27 2009-04-27 設計ルール検証プログラム、該プログラムを記録した記録媒体、および設計ルール検証装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2005061551A Division JP4324122B2 (ja) 2005-03-04 2005-03-04 設計ルール検証プログラム、該プログラムを記録した記録媒体、および設計ルール検証装置

Publications (2)

Publication Number Publication Date
JP2009163777A true JP2009163777A (ja) 2009-07-23
JP4659892B2 JP4659892B2 (ja) 2011-03-30

Family

ID=40966246

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009108132A Expired - Fee Related JP4659892B2 (ja) 2009-04-27 2009-04-27 設計ルール検証プログラム、該プログラムを記録した記録媒体、および設計ルール検証装置

Country Status (1)

Country Link
JP (1) JP4659892B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02287677A (ja) * 1989-04-27 1990-11-27 Yokogawa Electric Corp プリント板cad装置
JPH0310379A (ja) * 1989-06-08 1991-01-17 Oki Electric Ind Co Ltd 設計ルール検証システム
JPH0896004A (ja) * 1994-09-26 1996-04-12 Nec Corp デザインルール検証システム
JPH1196200A (ja) * 1997-09-17 1999-04-09 Mitsubishi Electric Corp 半導体設計装置
JP2003036285A (ja) * 2001-07-23 2003-02-07 Mitsubishi Electric Corp マスクレイアウトパターン検証装置及び方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02287677A (ja) * 1989-04-27 1990-11-27 Yokogawa Electric Corp プリント板cad装置
JPH0310379A (ja) * 1989-06-08 1991-01-17 Oki Electric Ind Co Ltd 設計ルール検証システム
JPH0896004A (ja) * 1994-09-26 1996-04-12 Nec Corp デザインルール検証システム
JPH1196200A (ja) * 1997-09-17 1999-04-09 Mitsubishi Electric Corp 半導体設計装置
JP2003036285A (ja) * 2001-07-23 2003-02-07 Mitsubishi Electric Corp マスクレイアウトパターン検証装置及び方法

Also Published As

Publication number Publication date
JP4659892B2 (ja) 2011-03-30

Similar Documents

Publication Publication Date Title
KR101812380B1 (ko) 공식 검출 엔진
US7503021B2 (en) Integrated circuit diagnosing method, system, and program product
JP4082616B2 (ja) 信号伝播経路描画装置、その描画方法及びプログラム
JP2007279828A (ja) 帳票処理装置、帳票様式作成装置、帳票、帳票処理用のプログラム、帳票様式作成用のプログラム
CN107025430A (zh) 着重号列表
JP2008083781A (ja) 検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法
JP4324122B2 (ja) 設計ルール検証プログラム、該プログラムを記録した記録媒体、および設計ルール検証装置
JP4659892B2 (ja) 設計ルール検証プログラム、該プログラムを記録した記録媒体、および設計ルール検証装置
JP2007264993A (ja) 検証支援装置、検証支援方法、検証支援プログラム、および記録媒体
JP4716964B2 (ja) タイミングダイアグラム編集プログラム、タイミングダイアグラム編集装置およびタイミングダイアグラム編集方法
JP2010272060A (ja) 設計支援プログラム、設計支援装置、および設計支援方法
JP5251639B2 (ja) 半導体装置の設計検証装置
JP5293488B2 (ja) 設計支援プログラム、設計支援装置、および設計支援方法
JP2008004024A (ja) レイアウト設計プログラム、該プログラムを記録した記録媒体、レイアウト設計装置、およびレイアウト設計方法
JP2010117962A (ja) レイアウト設計方法および半導体集積回路
JP5212218B2 (ja) 設計支援プログラム、設計支援装置、および設計支援方法
JP4589294B2 (ja) 設計/検証支援プログラムおよび該プログラムを記録した記録媒体
US20110041113A1 (en) Design support program, design support system, and design support method
JP5263066B2 (ja) 設計支援プログラム、設計支援装置、および設計支援方法
JP2011197844A (ja) 差分検知システム
US20080005714A1 (en) Logic diagram display method, program, and apparatus
JP5239745B2 (ja) 電流判定プログラム、電流判定装置および電流判定方法
JP2007233840A (ja) フォールスパス記述情報生成プログラム、該プログラムを記録した記録媒体、フォールスパス記述情報生成装置およびフォールスパス記述情報生成方法
JP5282640B2 (ja) データ処理装置、データ処理方法、およびデータ処理プログラム
JP4275639B2 (ja) レイアウト設計装置、およびレイアウト設計プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090427

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101130

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101221

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101227

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140107

Year of fee payment: 3

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