図面 (/)
課題
システム構成に起因する問題の発生を抑制すること。
解決手段
データ検証装置21は、レイアウトデータから、セルが有する図形の範囲を示す図形存在範囲情報と、階層構造における下層のセルを参照する所有配置情報とを抽出し、各セルに図形存在範囲情報及び所有配置情報の少なくとも一方を関連付けた仮階層展開テーブルを記憶装置に記憶する。データ検証装置21は、対象セルと、該対象セルまでの配置パスを決定し、その配置パスに従って、各階層のセルに対応付けられた所有配置情報を仮階層展開テーブルから読み出し、配置パスにおける最上層のセルから対象セルまで配置パスに従って各階層のセルに対応付けられた所有配置情報を累積した累積値を算出し、累積値とレイアウトデータを処理するデータ処理装置22,23に応じて設定された検証条件と所有配置情報とに基づいて、所有配置情報が検証条件を満たすか否かを判定する。
概要
背景
半導体装置の設計者は、半導体装置の使用用途に応じて仕様、即ち搭載機能や動作速度に基づいてCAD(Computer Aided Design )装置等の設計装置を用いて論理設計、回路設計を行い、回路設計された論理回路に基づいて素子を配置した半導体装置の図形データであるレイアウトデータを生成する。データ処理装置は、そのレイアウトデータを、実際にマスク、レチクル、ウェハに描画する描画装置に入力可能な露光データに変換する。そして、描画されたマスク等により半導体装置のチップが製造される。
レイアウトデータは、階層構造を持つ。各階層のセルは、図形データと参照情報のうちの少なくとも一方を持つ。図形データは、多角形の頂点座標、又は線分の端点座標及び幅情報と、多角形又は線部の配置位置である。配置位置は、セルの座標系、つまりセルの基準位置に対する相対位置で表現されている。参照情報は、そのセルが参照する下位のセル(被参照セル)の配置位置であり、この配置位置は、上位のセルの座標系で表現されている。
データ処理装置は、レイアウトデータに含まれる全ての図形データを統一した座標系で表現する展開処理を行い、レイアウトデータに含まれる図形データの物理的な干渉、ネットリストと対応するか否かを検証する(例えば、特許文献1,特許文献2,特許文献3参照)。そして、データ処理装置は、検証結果に問題のないレイアウトデータを露光データに変換する。
上記のレイアウトデータを作成するために使用される設計装置と、レイアウトデータを処理するデータ処理装置は、動作環境やシステム構成が異なる場合がある。
例えば、近年の半導体業界は、プロセス技術の微細化に応じて設備投資(ファウンドリコスト)が上昇している。このため、製造部門を切り離して設計のみを行うメーカと、業態を製造に特化することで、コストダウンを実現したメーカが発生している。半導体装置の製造を外部に委託するメーカはファブレスメーカ(単にファブレスという)と呼ばれ、製造を行うメーカはファブメーカ(単にファブという)と呼ばれる。ファイブレスは、コスト抑制のため、信頼性を含めて複数のファブを比較検討し、コストパフォーマンスのよいファブを選択する傾向にある。
ファブレスや製品製造の一部を外部に委託するメーカの設計者は、CAD(Computer Aided Design )等のツール(EDAツール)を用いて半導体装置のレイアウトデータ等を生成する。ファブは、レイアウトデータ等を受領し、そのデータをマスク製造や直接描画のためのデータに変換し、変換後のデータに基づいて半導体装置を製造し、ファブレスに提供する。
特開平5−94494号公報
特開平5−303611号公報
特開2000−194743号公報
概要
システム構成に起因する問題の発生を抑制すること。データ検証装置21は、レイアウトデータから、セルが有する形の範囲を示す形存在範囲情報と、階層構造における下層のセルを参照する所有配置情報とを抽出し、各セルに形存在範囲情報及び所有配置情報の少なくとも一方を関連付けた仮階層展開テーブルを記憶装置に記憶する。データ検証装置21は、対象セルと、該対象セルまでの配置パスを決定し、その配置パスに従って、各階層のセルに対応付けられた所有配置情報を仮階層展開テーブルから読み出し、配置パスにおける最上層のセルから対象セルまで配置パスに従って各階層のセルに対応付けられた所有配置情報を累積した累積値を算出し、累積値とレイアウトデータを処理するデータ処理装置22,23に応じて設定された検証条件と所有配置情報とに基づいて、所有配置情報が検証条件を満たすか否かを判定する。
目的
効果
実績
- 技術文献被引用数
- 0件
- 牽制数
- 0件
この技術が所属する分野
(分野番号表示ON)※整理標準化データをもとに当社作成
請求項1
半導体装置の設計装置から提供される階層構造をなすレイアウトデータを検証するデータ検証装置が実行するデータ検証方法であって、前記レイアウトデータを処理するデータ処理系に応じて設定された検証条件を入力する第1の工程と、前記レイアウトデータから、セルが有する図形の範囲を示す図形存在範囲情報と、階層構造における下層のセルを参照する所有配置情報とを抽出し、各セルに図形存在範囲情報及び所有配置情報の少なくとも一方を関連付けた仮階層展開テーブルを記憶装置に記憶する第2の工程と、対象セルと、該対象セルまでの配置パスを決定し、その配置パスの情報を前記記憶装置に記憶する第3の工程と、前記配置パスに従って、各階層のセルに対応付けられた所有配置情報を前記仮階層展開テーブルから読み出し、前記配置パスにおける最上層のセルから対象セルまで前記配置パスに従って各階層のセルに対応付けられた所有配置情報を累積した累積値を算出する第4の工程と、前記累積値と前記検証条件と前記所有配置情報とに基づいて、前記所有配置情報が前記検証条件を満たすか否かを判定する第5の工程と、前記配置パスにおいて前記対象セルまでの前記所有配置情報の累積値と、前記対象セルの図形存在範囲情報と前記検証条件とに基づいて、前記図形存在範囲情報が前記検証条件を満たすか否かを判定する第6の工程と、を含むことを特徴とするデータ検証方法。
請求項2
前記データ検証装置は、前記第5の工程において、前記累積値と前記検証条件との差を許容値として算出し、当該階層のセルの所有配置情報と前記許容値とを比較してその所有配置情報が前記検証条件を満たすか否かを判定する、ことを特徴とする請求項1に記載のデータ検証方法。
請求項3
前記データ検証装置は、前記第6の工程において、前記対象セルまでの前記所有配置情報の累積値と前記検証条件との差を許容値として算出し、当該階層のセルの図形存在範囲情報と前記許容値とを比較して対象セルの図形存在範囲情報が前記検証条件を満たすか否かを判定する、ことを特徴とする請求項1に記載のデータ検証方法。
請求項4
前記データ検証装置は、入力装置の操作に基づく信号、又は記憶装置に記憶された情報に基づいて、そのときの動作モードが第1のモードか第2のモードかを判定し、前記動作モードが第1のモードの時には前記第1の工程から前記第6の工程を含む詳細検証処理を実行し、前記動作モードが第2のモードの時には簡易検証処理を実行し、前記簡易検証処理は、前記レイアウトデータを処理するデータ処理系に応じて設定された検証条件を入力する第7の工程と、前記レイアウトデータから、セルが有する図形の範囲を示す図形存在範囲情報と、階層構造における下層のセルを参照する所有配置情報とを抽出し、各セルに図形存在範囲情報及び所有配置情報の少なくとも一方を関連付けた仮階層展開テーブルを記憶装置に記憶する第8の工程と、着目するセルが参照する子セルを示す所有配置情報を前記仮階層展開テーブルから読み出す第9の工程と、前記所有配置情報と前記検証条件とを比較して前記所有配置情報が前記検証条件を満たすか否かを判定する第10の工程と、を含むことを特徴とする請求項1〜3のうちの何れか一項に記載のデータ検証方法。
請求項5
半導体装置の設計装置から提供される階層構造をなすレイアウトデータを検証するデータ検証装置であって、前記レイアウトデータを処理するデータ処理系に応じて設定された検証条件を入力する入力部と、前記検証条件を記憶装置に記憶する検証条件作成部と、前記レイアウトデータを入力するデータ入力部と、前記レイアウトデータから、セルが有する図形の範囲を示す図形存在範囲情報と、階層構造における下層のセルを参照する所有配置情報とを抽出し、各セルに図形存在範囲情報及び所有配置情報の少なくとも一方を関連付けた仮階層展開テーブルを記憶装置に記憶するテーブル作成部と、対象セルと、該対象セルまでの配置パスを決定し、その配置パスの情報を前記記憶装置に記憶し、前記配置パスに従って、各階層のセルに対応付けられた所有配置情報を前記仮階層展開テーブルから読み出し、前記配置パスにおける最上層のセルから対象セルまで前記配置パスに従って各階層のセルに対応付けられた所有配置情報を累積した累積値を算出し、前記累積値と前記検証条件と前記所有配置情報とに基づいて、前記所有配置情報が前記検証条件を満たすか否かを判定し、前記配置パスにおいて前記対象セルまでの前記所有配置情報の累積値と、前記対象セルの図形存在範囲情報と前記検証条件とに基づいて、前記図形存在範囲情報が前記検証条件を満たすか否かを判定する詳細検証処理を実行する検証部と、を含むことを特徴とするデータ検証装置。
請求項6
前記検証部は、各階層において算出した前記累積値と前記検証条件との差を許容値として算出し、当該階層のセルが参照する子セルを示す所有配置情報と前記許容値とを比較してその所有配置情報が前記検証条件を満たすか否かを判定する、ことを特徴とする請求項5に記載のデータ検証装置。
請求項7
前記検証部は、前記対象セルまでの前記所有配置情報の累積値と前記検証条件との差を許容値として算出し、当該階層のセルの所有配置情報と前記許容値とを比較して対象セルの図形存在範囲情報が前記検証条件を満たすか否かを判定する、ことを特徴とする請求項6に記載のデータ検証装置。
請求項8
前記検証部は、入力装置の操作に基づく信号、又は記憶装置に記憶された情報に基づいて、そのときの動作モードが第1のモードか第2のモードかを判定し、前記動作モードが第1のモードの時には前記詳細検証処理を実行し、前記動作モードが第2のモードの時には、着目するセルが参照する子セルを示す所有配置情報を前記仮階層展開テーブルから読み出し、前記所有配置情報と前記検証条件とを比較して前記所有配置情報が前記検証条件を満たすか否かを判定する簡易検証処理を実行する、ことを特徴とする請求項5〜7のうちの何れか一項に記載のデータ検証装置。
請求項9
半導体装置の設計装置から提供される階層構造をなすレイアウトデータを検証するデータ検証装置が実行するプログラムであって、前記レイアウトデータを処理するデータ処理系に応じて設定された検証条件を入力する第1のステップと、前記レイアウトデータから、セルが有する図形の範囲を示す図形存在範囲情報と、階層構造における下層のセルを参照する所有配置情報とを抽出し、各セルに図形存在範囲情報及び所有配置情報の少なくとも一方を関連付けた仮階層展開テーブルを記憶装置に記憶する第2のステップと、対象セルと、該対象セルまでの配置パスを決定し、その配置パスの情報を前記記憶装置に記憶する第3のステップと、前記配置パスに従って、各階層のセルに対応付けられた所有配置情報を前記仮階層展開テーブルから読み出し、前記配置パスにおける最上層のセルから対象セルまで前記配置パスに従って各階層のセルに対応付けられた所有配置情報を累積した累積値を算出する第4のステップと、前記累積値と前記検証条件と前記所有配置情報とに基づいて、前記所有配置情報が前記検証条件を満たすか否かを判定する第5のステップと、前記配置パスにおいて前記対象セルまでの前記所有配置情報の累積値と、前記対象セルの図形存在範囲情報と前記検証条件とに基づいて、前記図形存在範囲情報が前記検証条件を満たすか否かを判定する第6のステップと、を含むことを特徴とするプログラム。
技術分野
背景技術
0002
半導体装置の設計者は、半導体装置の使用用途に応じて仕様、即ち搭載機能や動作速度に基づいてCAD(Computer Aided Design )装置等の設計装置を用いて論理設計、回路設計を行い、回路設計された論理回路に基づいて素子を配置した半導体装置の図形データであるレイアウトデータを生成する。データ処理装置は、そのレイアウトデータを、実際にマスク、レチクル、ウェハに描画する描画装置に入力可能な露光データに変換する。そして、描画されたマスク等により半導体装置のチップが製造される。
0003
レイアウトデータは、階層構造を持つ。各階層のセルは、図形データと参照情報のうちの少なくとも一方を持つ。図形データは、多角形の頂点座標、又は線分の端点座標及び幅情報と、多角形又は線部の配置位置である。配置位置は、セルの座標系、つまりセルの基準位置に対する相対位置で表現されている。参照情報は、そのセルが参照する下位のセル(被参照セル)の配置位置であり、この配置位置は、上位のセルの座標系で表現されている。
0004
データ処理装置は、レイアウトデータに含まれる全ての図形データを統一した座標系で表現する展開処理を行い、レイアウトデータに含まれる図形データの物理的な干渉、ネットリストと対応するか否かを検証する(例えば、特許文献1,特許文献2,特許文献3参照)。そして、データ処理装置は、検証結果に問題のないレイアウトデータを露光データに変換する。
0005
上記のレイアウトデータを作成するために使用される設計装置と、レイアウトデータを処理するデータ処理装置は、動作環境やシステム構成が異なる場合がある。
例えば、近年の半導体業界は、プロセス技術の微細化に応じて設備投資(ファウンドリコスト)が上昇している。このため、製造部門を切り離して設計のみを行うメーカと、業態を製造に特化することで、コストダウンを実現したメーカが発生している。半導体装置の製造を外部に委託するメーカはファブレスメーカ(単にファブレスという)と呼ばれ、製造を行うメーカはファブメーカ(単にファブという)と呼ばれる。ファイブレスは、コスト抑制のため、信頼性を含めて複数のファブを比較検討し、コストパフォーマンスのよいファブを選択する傾向にある。
0006
ファブレスや製品製造の一部を外部に委託するメーカの設計者は、CAD(Computer Aided Design )等のツール(EDAツール)を用いて半導体装置のレイアウトデータ等を生成する。ファブは、レイアウトデータ等を受領し、そのデータをマスク製造や直接描画のためのデータに変換し、変換後のデータに基づいて半導体装置を製造し、ファブレスに提供する。
特開平5−94494号公報
特開平5−303611号公報
特開2000−194743号公報
発明が解決しようとする課題
0007
ところが、上記のように、装置における動作環境等の相違により、ファブにおいてエラーが発生する場合がある。上記したように、レイアウトデータに含まれる各セルの位置は、そのセルの上位のセルが持つ参照情報によって配置位置が指定されている。このため、下位のセルに含まれる図形の位置は、最上位のセルから下層に向かって各階層のセルに含まれる参照情報を加味した座標値を算出することで、チップ全体に対する配置位置が決定される。個々のセルに含まれる参照情報の数値がデータ処理装置が扱う数値の範囲(例えばデータ処理系で扱うことのできる符号付きの最大最小整数値)内であったとしても、算出した座標値が範囲外になる場合がある。
0008
例えば、図8に示すように、原点O1から階層トップのセルに含まれる配置情報1(X座標及びY座標)によって下位の階層のセルにおける基準点O2(図中、黒丸で示す)が決定される。その基準点O2の座標(配置情報1)に、そのセルに含まれる配置情報2を加味する(加算する)ことで、次の階層のセルにおける基準点O3が決定される。更に、その基準点O3の座標(配置情報1+配置座標2)に、そのセルに含まれる配置情報3を加味する(加算する)ことで、次の階層のセルにおける基準点O4が決定される。この図において、基準点O3の座標値は、データ処理系で扱うことのできる符号付きの最大最小整数値に基づく数値範囲(+mx〜−mx,+ny〜−ny)を越えている。
0009
配置装置は、当該装置が利用するデータに含まれるセルが図形データを持たない場合、図8に示すように基準点O3が範囲外となるようにセルを配置することを許容することがある。一方、データ処理装置が基準点といえども、範囲外に配置することを許容しないシステムの場合、このデータ処理装置は、算出した座標値が範囲外の場合にオーバーフローやアンダーフローといった現象を起こし、システムによって定められた異常値に変更する。この状況に気が付かないで作業を継続すると、エラーを含むマスクや半導体装置が生成されてしまい、多大な損害が発生するおそれがある。
0010
図8に示すような配置情報を持つセルを含むレイアウトデータは基準点O3に対する図形が存在しないため、レイアウト結果(レイアウト図)を目視でチェックしても、問題点を発見することはできない。また、ファウンドリ(ファブ)にシステム構成が異なる(コンピュータそのものが相違するもの、コンピュータが実行するツールが相違するもの、等)複数のデータ処理装置を持つ場合、上記のデータ処理装置と異なる環境では、上記の問題が発生しないことがある。つまり、1つのデータ処理装置では上記の問題が発生し、別のデータ処理装置では上記の問題が発生しない場合がある。このため、問題の発見が困難となり、原因の解析が難しくなって問題が深刻化する場合がある。
0011
このデータ検証方法、データ検証装置、及びプログラムで、システム構成に起因する問題の発生を抑制することを目的とする。
課題を解決するための手段
0012
このデータ検証方法は、前記レイアウトデータを処理するデータ処理系に応じて設定された検証条件を入力する第1の工程と、前記レイアウトデータから、セルが有する図形の範囲を示す図形存在範囲情報と、階層構造における下層のセルを参照する所有配置情報とを抽出し、各セルに図形存在範囲情報及び所有配置情報の少なくとも一方を関連付けた仮階層展開テーブルを記憶装置に記憶する第2の工程と、対象セルと、該対象セルまでの配置パスを決定し、その配置パスの情報を前記記憶装置に記憶する第3の工程と、前記配置パスに従って、各階層のセルに対応付けられた所有配置情報を前記仮階層展開テーブルから読み出し、前記配置パスにおける最上層のセルから対象セルまで前記配置パスに従って各階層のセルに対応付けられた所有配置情報を累積した累積値を算出する第4の工程と、前記累積値と前記検証条件と前記所有配置情報とに基づいて、前記所有配置情報が前記検証条件を満たすか否かを判定する第5の工程と、前記配置パスにおいて前記対象セルまでの前記所有配置情報の累積値と、前記対象セルの図形存在範囲情報と前記検証条件とに基づいて、前記図形存在範囲情報が前記検証条件を満たすか否かを判定する第6の工程と、を要件とする。
0013
データ検証装置の特徴は、前記レイアウトデータを処理するデータ処理系に応じて設定された検証条件を入力する入力部と、前記検証条件を記憶装置に記憶する検証条件作成部と、前記レイアウトデータを入力するデータ入力部と、前記レイアウトデータから、セルが有する図形の範囲を示す図形存在範囲情報と、階層構造における下層のセルを参照する所有配置情報とを抽出し、各セルに図形存在範囲情報及び所有配置情報の少なくとも一方を関連付けた仮階層展開テーブルを記憶装置に記憶するテーブル作成部と、対象セルと、該対象セルまでの配置パスを決定し、その配置パスの情報を前記記憶装置に記憶し、前記配置パスに従って、各階層のセルに対応付けられた所有配置情報を前記仮階層展開テーブルから読み出し、前記配置パスにおける最上層のセルから対象セルまで前記配置パスに従って各階層のセルに対応付けられた所有配置情報を累積した累積値を算出し、前記累積値と前記検証条件と前記所有配置情報とに基づいて、前記所有配置情報が前記検証条件を満たすか否かを判定し、前記配置パスにおいて前記対象セルまでの前記所有配置情報の累積値と、前記対象セルの図形存在範囲情報と前記検証条件とに基づいて、前記図形存在範囲情報が前記検証条件を満たすか否かを判定する検証部と、を含む。
0014
この検証方法及び検証装置によれば、レイアウトデータから抽出した所有配置情報を配置パスに従って累積し、その累積値と検証条件とに基づいて、各セルが参照する子セルを示す所有配置情報が検証条件を満たすか否かを判定することにより、個別の図形座標に対する処理を行うことなく、当該レイアウトデータがデータ処理系に対応するか否かを検証することができる。また、検証条件をデータ処理系に応じて設定することにより、レイアウトデータを処理するデータ処理系に対応するか否かを検証することができる。
発明の効果
0015
開示のデータ検証方法、データ検証装置、及びプログラムは、システム構成に起因する問題の発生を抑制するという効果を奏する。
発明を実施するための最良の形態
0016
以下、一実施形態を図1〜図7に従って説明する。
図1に示すように、ファブレス10は、設計装置としてのレイアウト作成装置11を有している。ファブレス10は、例えば、半導体装置の製造を外部に委託するメーカ(ファブレスメーカ)、半導体装置の製造を外部に委託する部門である。レイアウト作成装置11は、機能設計、論理合成、レイアウト設計、等の設計を行うためのDEAツールを有し、ツールとともにベンダから提供されるデータ、ファブ20から提供されるデータを用いて半導体装置の製造に必用なデータ30を生成する。このデータ30は、レイアウトデータ、レイアウトデータが参照するセルの定義データを含む。そして、このデータ30は、ネットワークや記録媒体によりファブレス10からファブ20に提供される。
0017
ファブ20は、例えば、IC製造会社(ファウンドリ:foundry)、工場(ファブ:fabricating lab〔略:fab〕)である。ファブ20は、ファブレス10から提供されるデータ30に基づいて作成した半導体装置をファブレス10に供給する。
0018
ファブ20は、データ検証装置21とデータ処理装置22,23を有し、それらの装置21〜23はネットワーク24を介して相互に接続されている。データ検証装置21は、所定の検証範囲値に従ってファブレス10から提供されるデータ30に含まれるレイアウトデータを検証する。そして、データ検証装置21は、検証に合格したデータを、データ処理装置22又は23に供給する。
0019
データ処理装置22,23は、互いのシステム構成が異なる装置であって、データ検証装置21にて検証されたレイアウトデータを、製造プロセスに応じたデータ(例えばレチクル描画用のデータ)に変換する。そして、ファブ20は、変換後のデータに基づいて半導体装置を製造し、その半導体装置をファブレス10に供給する。
0020
図2は、本実施形態のデータ検証装置21の概略構成図である。
データ検証装置21は一般的なCAD(Computer Aided Design )装置からなり、中央演算装置(以下、CPU)41、主記憶(=メモリ)42、記憶装置43、表示装置44、入力装置45、及びドライブ装置46を備え、それらはバス47を介して相互に接続されている。
0021
CPU41は、メモリ42を利用してプログラムを実行し、レイアウトデータ検証に必要な処理を実現する。メモリ42には、レイアウトデータ検証機能を提供するために必要となるプログラムとデータが格納され、メモリ42としては、通常、キャッシュ・メモリ、システム・メモリ、及びディスプレイ(グラフィック)・メモリを含む。
0022
表示装置44は、検証結果表示、検証条件入力画面等の表示に用いられ、これには通常、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)等が用いられる。入力装置45は、ユーザからの要求や指示、検証条件の入力に用いられ、これらにはキーボード及びマウス等が用いられる。
0023
記憶装置43は、通常、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、半導体ディスク装置(SSD:Solid State Drive)等を含む。記憶装置43には、レイアウトデータ検証のためのプログラムデータ(以下、プログラム)及び各種のデータファイル(以下、ファイル)が格納される。CPU41は、入力装置45による指示に応答してプログラムや各種ファイルに格納されるデータを適宜メモリ42へ転送し、それを逐次実行する。この記憶装置43はデータベースとしても使用される。
0025
記録媒体48としては、メモリカード、フレキシブルディスク、光ディスク(CD-ROM,DVD-ROM,…)、光磁気ディスク(MO,MD,…)等、任意のコンピュータ読み取り可能な記録媒体を使用することができる。この記録媒体48に、前述のプログラムを格納しておき、必要に応じて、メモリ42にロードして使用することもできる。また、記録媒体48はプログラムファイルやデータファイルを提供するものであればよく、ネットワークを介して接続された他のコンピュータやサーバ等の記憶装置又はドライブ装置に挿入された記録媒体を含む。
0026
上記したように、図1に示すデータ30は、図5に示すレイアウトデータ31を含む。このレイアウトデータ31は、複数のセルCT,CA〜CGのデータを有している。各セルCT〜CGは、各セルの原点を基準とした座標情報を持つ。例えば、図形が定義されたセルは、図形の形状を示す座標情報を有し、セルの図形の座標情報を調べることで、セル原点を基準とした図形存在範囲を示す座標の最大値及び最小値を抽出することができる。図形の形状を示す座標情報は、多角形の頂点座標、又は線分の端点座標及び幅情報と、多角形又は線部の配置位置を含む。座標の最大値及び最小値は、例えば直交座標系(X座標及びY座標)にて記述されている。
0027
また、レイアウトデータ31は階層構造にて記述され、レイアウトデータ31に含まれる各セルCT〜CGは、階層位置に応じた参照情報を有する。参照情報は、そのセルが参照する下位のセル(被参照セル)の配置位置であり、この配置位置は、上位のセルの座標系、つまりセルを参照する上位のセルの原点を基準とした被参照セルの基準位置の相対座標値で表現されている。例えば、図5に示すレイアウトデータ31の場合、トップ階層として記述されたセルCTは、下位のセルの参照情報として、セルCAの配置情報1と、セルCBの配置情報2と、セルCCの配置情報3を有する。セルCBは、下位のセルの参照情報として、セルCDの配置情報4と、セルCEの配置情報5を有する。セルCEは、下位のセルの参照情報として、セルCFの配置情報6と、セルCGの配置情報7を有する。
0028
次に、データ検証装置21が実行するレイアウトデータ検証処理を説明する。
データ検証装置21のCPU41は、操作者の操作に従って入力装置45から入力される信号に応答して、データ検証のためのプログラムを実行する。このデータ検証プログラムは、図3に示す詳細検証処理のプログラムと、図4に示す簡易検証処理のプログラムとを含む。CPU41は、操作者の操作(例えばメニュー選択)に従って入力装置45から入力される信号、記憶装置43に記憶されたモード選択情報、等に従って、動作モードが詳細検証モード(第1のモード)と簡易検証モード(第2のモード)の何れかを判断し、その判断結果に応じたプログラムを実行して検証処理を行う。
0029
先ず、詳細検証モードにおける詳細検証処理を図3に従って説明する。
CPU41は、検証条件記述データ(以下、単に検証条件という)32から検証条件を入力する(ステップ51)。検証条件は、図1に示すレイアウト作成装置11とデータ処理装置22,23、それぞれの数値範囲に依存しない条件である。データ処理装置22,23の数値範囲は、システム構成(CPU)が扱う数値範囲(最大値,最小値)、それぞれのデータ処理装置22,23にて実行するデータ処理プログラムにて許容される数値範囲(最大値,最小値)である。一例として、検証条件32には、検証条件として所定ビット数(例えば32ビット)で表現できる符号付きの最大最小整数値(以下、最大最小整数値)が格納されている。最大最小整数値は、図8に示すように、基準点O1(座標値(0,0))から見たX軸及びY軸の最大最小整数値の座標値である。基準点O1から正側の座標値を最大値(最大XY)とし、基準点O1から負側の座標値を最小値(最小XY)とする。例えば、X軸の最大値+mx=最大整数、Y軸の最大値+ny=最大整数、X軸の最小値−mx=最小整数、Y軸の最小値−ny=最小整数となる。CPU41は、検証条件(の検証範囲値(+mx,−mx,+ny,−ny))を入力する。
0030
次に、CPU41は、レイアウトデータ31に基づき、仮階層展開テーブル33を図2に示すメモリ42に作成する(ステップ52)。仮階層展開テーブル33は、図6に示すように、セルと、セルが持つ図形存在範囲情報33aと、セルが持つ所有配置情報33bとを関連付けたテーブルである。図形存在範囲情報33aは、そのセルの原点を基準とした範囲を示す各軸X,Yの最小値及び最大値である。所有配置情報33bは、参照するセルを示す配置セル名、セルの原点から参照するセル(配置セル)の基準点までのX軸及びY軸の距離(距離X,距離Y)を含む。CPU41は、レイアウトデータ31に含まれる各セルについて、各セルが持つ図形存在範囲情報及び所有配置情報を抽出し、仮階層展開テーブル33に格納する。
0031
次に、CPU41は、仮階層展開テーブル33を参照し、図形存在範囲情報を検証するセル(対象セル)と、その対象セルが含まれ配置位置を検証する配置パスを決定し、各軸の累積座標値RX,RYを初期化(=0)する(ステップ53)。対象セル及び配置パスの決定処理の一例を説明する。
0032
CPU41は、レイアウトデータ31の階層構造に従ってトップ階層のセルから下層のセルに向かってたどり、トップ階層のセルから戻りが発生したセルまでを1つの配置パスとして決定する。
0033
図5において、トップ階層のセルCTは3つの所有配置情報(配置情報1,2,3)を有する。CPU41は、セルCTが有する所有配置情報のうちの1つ(例えば配置情報1)を選択し、その選択した配置情報1にて配置されるセルCAに至る。このセルCAは所有配置情報を持たない、即ちセルCAには子セルが存在しないため、セルCAから上層、つまりトップセルCTへの戻りが生じる。CPU41は、トップ階層のセルCTから戻りが生じたセルCAまでを1つの配置パスとして決定する。そして、CPU41は、この戻りが生じたセルCA、つまり配置パスにおける最下層のセルを対象セルとする。
0034
同様に、CPU41は、セルCTが有する所有配置情報のうちの1つ(例えば配置情報2)を選択し、その選択した配置情報2にて配置されるセルCBに至る。このセルCBは2つの所有配置情報(配置情報4,5)を持つ、即ちセルCBには2つの子セルが存在する。従って、CPU41は、1つの所有配置情報(例えば配置情報4)を選択し、その選択した配置情報4にて配置されるセルCDに至る。このセルCDには子セルが存在しないため、セルCDから上層のセルCBへの戻りが生じる。CPU41は、トップ階層のセルCTから戻りが生じたセルCDまで、つまり「セルCT」−「セルCB」−「セルCD」を1つの配置パスとして決定する。そして、CPU41は、この戻りが生じたセルCDを対象セルとする。
0035
次に、CPU41は、セルCBが持つ配置情報5に従ってセルCEに至る。このセルCEは2つの所有配置情報(配置情報6,7)を持つ、即ちセルCEには2つの子セルが存在する。従って、CPU41は、1つの所有配置情報(例えば配置情報6)を選択し、その選択した配置情報6にて配置されるセルCFに至る。このセルCFには子セルが存在しないため、セルCFから上層のセルCEへの戻りが生じる。CPU41は、トップ階層のセルCTから戻りが生じたセルCFまで、つまり「セルCT」−「セルCB」−「セルCE」−「セルCF」を1つの配置パスとして決定する。そして、CPU41は、この戻りが生じたセルCFを対象セルとする。
0036
同様に、CPU41は、セルCGまで辿り、そのセルCGからセルCEに戻りが生じるので、トップセルCTからセルCGまで、つまり「セルCT」−「セルCB」−「セルCE」−「セルCG」を配置パスとして決定する。そして、CPU41は、この戻りが生じたセルCGを対象セルとする。
0037
次に、セルCEが持つ全ての子セルCCF,CGについて配置パスを決定したため、CPU41は、セルCEからセルCBに戻る。従って、CPU41は、トップセルCTからこの戻りが生じたセルCEまで、つまり「セルCT」−「セルCB」−「セルCE」を1つの配置パスとして決定する。そして、CPU41は、この戻りが生じたセルCEを対象セルとする。
0038
このようにして、CPU41は、トップ階層のセルCTより下層の全てのセルについて、そのセルまでの配置パスを決定するとともに、全てのセルを図形存在範囲情報を検証する対象である対象セルとして決定する。
0039
次に、CPU41は、決定した配置パスを構成するセルが持つ所有配置情報が検証条件を満足するか否かを検証する(ステップ54〜59)。上記したように、検証条件として最大最小整数値が設定されている場合、CPU41は、レイアウトデータ31の所有配置情報によって配置されるセルの基準点が、最大最小整数値の範囲内か否かを判断する。つまり、基準点のX軸の座標値がX軸の最大値+mxと最小値−mxの間の値であるか否かを判断するとともに、基準点のY軸の座標値がY軸の最大値+nyと最小値−nyの間の値であるか否かを判断する。
0040
詳述すると、CPU41は、決定した配置パスにおいて最上位のセル、つまりトップ階層のセルCTが持ち、この配置パスに対応する所有配置情報33bを仮階層展開テーブル33から入力する(ステップ54)。例えば、配置パスを「セルCT」−「セルCB」−「セルCD」とする。CPU41は、トップ階層のセルCTからセルCBを参照する所有配置情報、即ち配置情報2を入力する。
0041
次に、CPU41は、ステップ51において入力した検証条件と、ステップ54において入力した配置情報2と、各軸の累積座標値RX,RYとに基づいて、加減算許容値を算出する(ステップ55)。この許容値は、検証条件の最大値及び最小値と、入力した配置情報2の基準点との差分である。この差分は、基準点に対して加減算した結果が最大最小整数値の最大値及び最小値を超えない値である。
0042
そして、CPU41は、累積座標値RX,RYの符号に対応する最大値又は最小値と、累積座標値RX,RYとの差を算出し、この差分値を許容値とする。例えば、図6に示すように、累積座標値RXが正の符号を持つ、即ち累積座標値RXが正の値の場合、判定すべき加算可能な最大値を求める。従って、CPU41は、最大値+mxと累積座標値RXとに基づき、次式
AX=+mx−RX
によりX軸の許容値AXを算出する。
0043
一方、累積座標値RXが負の符号を持つ、即ち累積座標値RXが負の値の場合、判定するべき加算可能な最小値(負値)を求める。従って、CPU41は、最小値−mxと累積座標値RXに基づき、次式
AX=−mx−RX
によりX軸の許容値AXを算出する。
0044
同様に、CPU41は、Y軸において、最大値+ny又は最小値−nyと累積座標値RYとに基づき、
AY=+ny−RY
AY=−ny−RY
によりY軸の許容値AYを算出する。
0045
次に、CPU41は、許容値AX,AYと所有配置情報33bの座標値Hxb,Hybを比較し、座標値Hxb,Hybを検証する(ステップ56)。詳しくは、CPU41は、許容値AX,AYと座標値Hxb,Hybとを大小比較した結果と、累積座標値RX,RYの符号(正負)とに基づいて、座標値Hxb,Hybが正常か否かを判断する。
0046
即ち、累積座標値RXが正値の場合、許容値AXより座標値Hxbが小さい場合には座標値Hxbが正常であると判断し、許容値AXより座標値Hxbが大きい場合には座標値Hxbが許容値AXを越えている検証値オーバーであり異常であると判断する。
0047
累積座標値RXが負値の場合、許容値AXより座標値Hxbが大きい場合には座標値Hxbが正常であると判断し、許容値AXより座標値Hxbが小さい場合には座標値Hxbが許容値AYを越えている検証値アンダーであり異常であると判断する。
0048
累積座標値RYが正値の場合、許容値AYより座標値Hybが小さい場合には座標値Hybが正常であると判断し、許容値AYより座標値Hybが大きい場合には座標値Hybが許容値AYを越えている検証値オーバーであり異常であると判断する。
0049
累積座標値RYが負値の場合、許容値AYより座標値Hybが大きい場合には座標値Hybが正常であると判断し、許容値AYより座標値Hybが小さい場合には座標値Hybが許容値AYを越えている検証値アンダーであり異常であると判断する。
0050
次に、CPU41は、検証OKか否かを判断する(ステップ57)。CPU41は、上記のステップ56において座標値Hxbと座標値Hybがともに正常である場合、検証OK、即ち配置情報2により配置されるセルCBの基準点は検証範囲内であり、最大最小整数値の範囲内に基準点が存在すると判定し、次のステップ58に移行する。そして、CPU41は、累積座標値RX,RYに座標値Hxb,Hybをそれぞれ加算する(ステップ58)。即ち、
RX+=Hxb
RY+=Hyb
となる。この加算結果は、セルCBの基準点の座標値である。
0051
次に、CPU41は、配置パスの残りが有るか否かを判断する(ステップ59)。CPU41は、上記のステップ53において決定した配置パスを構成するセルのうち、トップ階層のセルCT以外で所有配置情報を検証してないセルが存在するか否かを判断する。CPU41は、セルが存在する場合にステップ54に移行し、セルが存在しない場合に次のステップ60に移行する。
0052
上記したように、ステップ53において決定した配置パスにおいてセルCBがセルCDを参照する所有配置情報を検証していないため、CPU41は、ステップ54に移行する。次に、CPU41は、セルCBが有する所有配置情報33b(座標値Hxd,Hyd)を仮階層展開テーブル33を読み出し(ステップ54)、加減算許容値AX,AYを算出する(ステップ55)。次に、CPU41は、許容値AX,AYと座標値Hxd,Hydを比較し、座標値Hxd,Hydを検証する(ステップ56)。次に、CPU41は、検証OKか否かを判断し(ステップ57)、検証OKの場合に累積座標値RX,RYに座標値Hxd,Hydをそれぞれ加算する(ステップ58)。次に、CPU41は、配置パスの残りが有るか否かを判断する(ステップ59)。
0053
以上のように、CPU41は、ステップ53において決定した配置パスにおいて、所有配置情報を検証してないセルが存在しなくなるまでステップ54からステップ59の処理を繰り返し実行する。CPU41は、配置パスにおける最上層のセル、つまりトップ階層のセルCTから下層に向かって順次処理を行う。従って、CPU41は、繰り返し処理を行うことにより、配置パスにおける最下層のセル、つまり対象セルに到達する。従って、CPU41は、対象セルまで処理を繰り返し実行することにより、配置パスを構成する全てのセルについて、所有配置情報33bを検証する。そして、配置パスにおける全ての所有配置情報が正常(ステップ57においてYES)の場合、累積座標値RX,RYは、トップ階層のセルCTの基準点の座標系、即ち半導体装置(チップ)の座標系における対象セルの基準点の座標値を示す。従って、CPU41は、この累積座標値RX,RYに基づいて、対象セルにおける図形存在範囲情報を検証する(ステップ60〜63)。
0054
先ず、CPU41は、対象セル、即ちセルCDの図形存在範囲情報(最小値xd1,yd1、最大値xd2,yd2)を仮階層展開テーブル33から入力する(ステップ60)。次に、CPU41は、ステップ55と同様に、ステップ51において入力した検証条件と、ステップ60において入力した図形存在範囲情報と、各軸の累積座標値RX,RYとに基づいて、加減算許容値AX,AYを算出する(ステップ61)。
0055
この時、累積座標値RX,RYは、それぞれ配置パスにおいて最上位のセルCTから対象セルであるセルCDまでの配置情報2,4の座標値の累積値であるため、
RX=Hxb+Hxd
RY=Hyb+Hyd
となる。
0056
次に、CPU41は、許容値AXと図形存在範囲情報33aの座標値xd1,xd2、許容値AYと座標値yd1,yd2を比較し、図形存在範囲情報33aを検証する(ステップ62)。詳しくは、CPU41は、許容値AX,AYと図形存在範囲情報33aの座標値とを大小比較した結果と、累積座標値RX,RYの符号(正負)とに基づいて、図形存在範囲情報33aの座標値xd1〜yd2が正常か否かを判断する。
0057
即ち、累積座標値RXが正値の場合、許容値AXより座標値xd1が小さい場合には座標値xd1が正常であると判断し、許容値AXより座標値xd1が大きい場合には座標値xd1が許容値AXを越えている検証値オーバーであり異常であると判断する。
0058
累積座標値RXが負値の場合、許容値AXより座標値xd1が大きい場合には座標値xd1が正常であると判断し、許容値AXより座標値xd1が小さい場合には座標値xd1が許容値AYを越えている検証値アンダーであり異常であると判断する。
0059
累積座標値RYが正値の場合、許容値AYより座標値yd1が小さい場合には座標値yd1が正常であると判断し、許容値AYより座標値yd1が大きい場合には座標値yd1が許容値AYを越えている検証値オーバーであり異常であると判断する。
0060
累積座標値RYが負値の場合、許容値AYより座標値yd1が大きい場合には座標値yd1が正常であると判断し、許容値AYより座標値yd1が小さい場合には座標値yd1が許容値AYを越えている検証値アンダーであり異常であると判断する。
0061
CPU41は、図形存在範囲情報33aの最大の座標値xd2,yd2についても、座標値xd1,yd1と同様に、正常/異常を判断する。
次に、CPU41は、検証OKか否かを判断する(ステップ64)。CPU41は、上記のステップ62において座標値xd1〜yd2が全て正常である場合、検証OK、即ちセルCDが持つ図形存在範囲内の図形は検証範囲内であり、最大最小整数値の範囲内に存在すると判定し、次のステップ64に移行する。
0062
次に、CPU41は、配置セルの残りが有るか否かを判断する(ステップ64)。CPU41は、レイアウトデータ31を構成するセルのうち、トップ階層のセルCT以外で図形存在範囲情報を検証してないセルが存在するか否かを判断する。CPU41は、未検証のセルが存在する場合にステップ53に移行し、次の配置パスを決定する。一方、CPU41は、未検証のセルが存在しない場合、データ検証処理を終了する。
0063
上記のステップ57において、CPU41は、ステップ56において座標値Hxbと座標値Hybの少なくとも一方が異常であると判断した場合、検証NG、即ち配置情報2により配置されるセルCBの基準点は検証範囲外であり、最大最小整数値の範囲内に基準点が存在しないと判定し、ステップ65に移行する。また、上記のステップ63において、CPU41は、ステップ62において図形存在範囲情報33aの座標値xd1〜yd2の少なくとも1つが異常であると判断した場合、検証NG、即ち図形存在範囲の一部が検証範囲外であり、チップ上に存在しないと判定し、ステップ65に移行する。
0064
そして、CPU41は、エラー出力処理を行い(ステップ65)、エラーリスト34を出力する。このエラーリスト34は、図2における表示装置44に表示される。尚、エラーリスト34がプリンタ等の出力装置に出力されてもよい。
0065
次に、簡易検証モードにおける簡易検証処理を図4に従って説明する。
ここでの検証値は、最大最小整数値のような限界値ではなく、例えば、チップサイズのような現実的な数値(設計製造の対象物に対応する数値)とする。
0066
検証条件32には、検証条件としてチップサイズが格納されている。チップサイズは、図8に示すように、基準点O1を原点(0,0)としたときのチップの端点のX軸及びY軸の座標値である。基準点O1から正側の座標値を最大値(最大XY)とし、基準点O1から負側の座標値を最小値(最小XY)とする。例えば、基準点O1をチップの中心に設定する、チップサイズは、X軸の最大値+mx、Y軸の最大値+ny、X軸の最小値−mx、Y軸の最小値−nyで表される。CPU41は、検証条件(チップサイズの範囲値(+mx,−mx,+ny,−ny)を入力する。
0067
CPU41は、詳細検証処理のステップ51と同様に、検証条件32から検証条件を入力する(ステップ71)。次に、CPU41は、詳細検証処理のステップ52と同様に、レイアウトデータ31に基づき、仮階層展開テーブル33を図2に示すメモリ42に作成する(ステップ72)。
0068
次に、CPU41は、仮階層展開テーブル33から子セルの配置情報を入力する(ステップ73)。配置情報は、上位のセルの座標系により定義された子セルを配置する位置、即ち所有配置情報33bの位置X,Yである。図6に示すように、CPU41は、図5に示すレイアウトデータ31から、そのデータ31に含まれるセルの所有配置情報を抽出して仮階層展開テーブル33に格納している。CPU41は、仮階層展開テーブル33に格納された所有配置情報33bを読み込む。
0069
次に、CPU41は、配置情報検査を行う(ステップ74)。この検査において、CPU41は、仮階層展開テーブル33から読み込んだ所有配置情報33bの座標値X,Yと、検証条件のX軸値(−mx、+mx),Y軸値(−ny,+ny)と、を大小比較する。そして、CPU41は、その比較結果に基づいて、座標値X,Yが正常か異常かを判定する。
0070
詳しくは、CPU41は、検証値と所有配置情報33bの座標値とを大小比較した結果と、座標値X、Yの符号(正負)とに基づいて、所有配置情報33bの座標値X,Yが正常か否かを判断する。
0071
即ち、座標値Xが正値の場合、検証値+mxより座標値Xが小さい場合には座標値Xが正常であると判定し、検証値+mxより座標値Xが大きい場合には座標値Xが異常であると判断する。一方、座標値Xが負値の場合、検証値−mxより座標値Xが大きい場合に座標値Xが正常であると判断し、検証値−mxより座標値Xが小さい場合には座標値Xが異常であると判断する。
0072
同様に、座標値Yが正値の場合、検証値+nyより座標値Yが小さい場合には座標値Yが正常であると判断し、検証値+nyより座標値Yが大きい場合には座標値Yが異常であると判断する。一方、座標値Yが負値の場合、検証値−nyより座標値Yが大きい場合に座標値Yが正常であると判断し、検証値−nyより座標値Yが小さい場合には座標値Yが異常であると判断する。
0073
次に、CPU41は、検証OKか否かを判断する(ステップ75)。CPU41は、上記のステップ74において座標値Xと座標値Yがともに正常である場合、検証OK、即ち配置情報が、図1に示すデータ処理装置22,23にて扱える範囲内の値であると判断し、次のステップ76に移行する。
0074
次に、CPU41は、全子セルの検査を終了したか否かを判断する(ステップ76)。下層のセル(子セル)を参照するセル(親セル)は、少なくとも1つの子セルを参照する情報として所有配置情報を持つ。従って、CPU41は、このステップ76において、この親セルが参照する子セルの全てについて、各子セルを参照する所有配置情報が正常か異常かの判定を行ったか否かを判断する。CPU41は、全ての子セルについての判断が終了していない場合にステップ73に移行し、全ての子セルについての判断を終了した場合にステップ77に移行する。即ち、CPU41は、ステップ73〜75の処理を繰り返し実行し、1つのセルが参照する全ての子セルの配置情報を検査する。
0075
次に、CPU41は、全セルの検査を終了したか否かを判断する(ステップ77)。即ち、CPU41は、子セルを参照する所有配置情報を持つ全てのセルについて、そのセルが持つ所有配置情報の検査を終了したか否かを判断する。CPU41は、未検査のセルが存在する場合にステップ73に移行し、未検査のセルが存在しない場合にこの簡易検証処理を終了する。
0076
上記のステップ75において、CPU41は、ステップ74において座標値Xと座標値Yの少なくとも一方が異常であると判定した場合、検証NG、即ち所有配置情報の座標値X,Yが、図1に示すデータ処理装置22,23にて扱える範囲内の値ではないと判断し、ステップ78に移行する。そして、CPU41は、エラー出力処理を行い(ステップ78)、エラーリスト34を出力する。このエラーリスト34は、図2における表示装置44に表示される。尚、ステップ65と同様に、エラーリスト34がプリンタ等の出力装置に出力されてもよい。
0077
以上記述したように、本実施形態によれば、以下の効果を奏する。
(1)データ検証装置21は、レイアウトデータ31を処理するデータ処理系に応じて設定された検証条件32を入力する。次に、データ検証装置21は、レイアウトデータ31から、セルが有する図形の範囲を示す図形存在範囲情報33aと、階層構造における下層のセルを参照する所有配置情報33bとを抽出し、各セルに図形存在範囲情報及び所有配置情報の少なくとも一方を関連付けた仮階層展開テーブル33を記憶装置43に記憶する。次に、データ検証装置21は、対象セルと、該対象セルまでの配置パスを決定し、その配置パスの情報を記憶装置43に記憶する。次に、データ検証装置21は、配置パスに従って、各階層のセルに対応付けられた所有配置情報33bを仮階層展開テーブル33から読み出し、配置パスにおける最上層のセルから対象セルまで配置パスに従って各階層のセルに対応付けられた所有配置情報を累積した累積座標値RX,RYを算出する。次に、データ検証装置21は、累積座標値RX,RYと検証条件と所有配置情報33bとに基づいて、所有配置情報33bが検証条件を満たすか否かを判定するようにした。
0078
従って、レイアウトデータ31から抽出した所有配置情報33bを配置パスに従って累積し、その累積座標値RX,RYと検証条件とに基づいて、各セルが参照する子セルを示す所有配置情報33bが検証条件を満たすか否かを判定する。これにより、個別の図形データの座標値を処理することなく、当該レイアウトデータがデータ処理系に対応するか否かを検証することができる。また、検証条件をデータ処理系に応じて設定することにより、レイアウトデータ31を処理するデータ処理装置22,23に対応するか否かを検証することができる。
0079
(2)データ検証装置21は、配置パスにおいて対象セルまでの所有配置情報33bの累積座標値RX,RYと、対象セルの図形存在範囲情報33aと検証条件とに基づいて、図形存在範囲情報33aが検証条件を満たすか否かを判定するようにした。従って、レイアウトデータ31から抽出した所有配置情報33bを配置パスに従って累積し、その累積座標値RX,RYと検証条件とに基づいて、対象セルが持つ図形存在範囲情報33aが検証条件を満たすか否かを判定する。これにより、個別の図形データの座標値を処理することなく、当該レイアウトデータがデータ処理系に対応するか否かを検証することができる。
0080
(3)データ検証装置21は、累積座標値RX,RYと検証条件との差を許容値AX,AYとして算出し、当該階層のセルの所有配置情報33bと許容値AX,AYとを比較してその所有配置情報33bが検証条件32を満たすか否かを判定するようにした。従って、累積座標値RX,RYと所有配置情報33bとを加算することによりエラー(オーバーフロー、アンダーフロー)が発生するデータ処理装置においても、その加算演算を行うことなく所有配置情報33bによりエラーが発生することを確認する、つまりデータ処理装置が扱う範囲内で所有配置情報33bを確実に検証することができる。
0081
(4)データ検証装置21は、対象セルまでの所有配置情報33bの累積座標値RX,RYと検証条件との差を許容値AX,AYとして算出し、当該階層のセルの図形存在範囲情報33aと許容値AX,AYとを比較して対象セルの図形存在範囲情報33aが検証条件32を満たすか否かを判定するようにした。従って、累積座標値RX,RYと図形存在範囲情報33aとを加算することによりエラー(オーバーフロー、アンダーフロー)が発生するデータ処理装置においても、その加算演算を行うことなく所有配置情報33bによりエラーが発生することを確認する、つまりデータ処理装置が扱う範囲内で所有配置情報33bを確実に検証することができる。
0082
(5)データ検証装置21は、そのときの動作モードが詳細検証モードか簡易検証モードかを判定する。そして、データ検証装置21は、動作モードが詳細検証モードの時には配置パスの各セルが持つ所有配置情報の累積座標値RX,RYと検証条件32とから算出した許容値AX,AYと所有配置情報33b、図形存在範囲情報33aとを比較して両情報33a,33bを検証する詳細検証処理を実行する。一方、データ検証装置21は、動作モードが簡易検証モードのときには、各セルの所有配置情報33bと検証条件32とを比較して所有配置情報33bが検証条件32を満たすか否かを判定する簡易検証処理を実行する。従って、動作モードを設定して詳細モードを実行することにより、各セルの所有配置情報と図形存在範囲情報が検証条件を満足するか否かを検証することができる。また、動作モードを設定して簡易検証モードを実行することにより、レイアウトデータ31がデータ処理装置22,23にて扱うことができる数値範囲にはいっていることを短時間で確認することができる。
0083
尚、上記各実施の形態は、以下の態様で実施してもよい。
・上記実施の形態では、検証条件32として最大最小整数値やチップサイズを設定したが、レイアウトデータ31の数値(座標値)が含まれるであろう範囲が設定されればよく、最大最小整数値やチップサイズ以外を検証条件32として設定してもよい。検証条件32として、例えば、システムが扱える数値範囲、システム(レイアウト作成装置11、データ処理装置22,23)の構成に依存しない数値範囲を設定してもよい。
0084
・上記実施形態では、最大最小整数値やチップサイズを検証条件32として設定したが、レイアウトデータ31を処理する対象のデータ処理装置22,23に応じた検証条件32を変更するようにしてもよい。
0085
・上記実施の形態では、データ検証装置21を一般的なCAD装置により構成したが、システム構成を適宜変更してもよい。例えば、図7に示すデータ検証装置80は、レイアウトデータ31を入力するレイアウトデータ入力部81を有する。仮階層展開テーブル作成部82は入力部81にて入力されたレイアウトデータから該レイアウトデータの階層構造に応じて、セルが参照する子セルの配置情報と、セルが持つ図形存在範囲情報を抽出して主記憶83に仮階層展開テーブル33(図6参照)を作成する。検証条件入力部84は、検証条件32を入力し、検証条件作成部85は検証条件入力部84にて入力された検証条件を主記憶83の内部テーブルに格納する。そして、検証部86は、主記憶83に記憶されたモード情報に従って、詳細検証モードの時には図3に示すステップ53〜ステップ65の処理を実行し、簡易検証モードの時には図4に示すステップ73〜ステップ78の処理を実行する。そして、検証部86は、各モード時の検証結果を主記憶83に格納する。検証結果出力部87は、主記憶83に格納された検証結果を読み出し、検証結果ファイル91を作成する。また、検証結果出力部87は、接続された表示部88に検証結果(エラーを含む)を表示する。
図面の簡単な説明
0086
半導体装置設計システムの概略説明図である。
データ検証装置の概略構成図である。
詳細検証処理のフローチャートである。
簡易検証処理のフローチャートである。
レイアウトデータの階層構造を示す説明図である。
仮階層展開テーブルの説明図である。
別のデータ検証装置の概略構成図である。
配置情報による配置位置決定の説明図である。
符号の説明
0087
11レイアウト作成装置
21データ検証装置
22,23データ処理装置
31レイアウトデータ
32検証条件
33 仮階層展開テーブル
33a図形存在範囲情報
33b所有配置情報
RX,RY累積値
AX,AY 許容値