(57)【要約】【課題】  複雑な回路内のネットに対し、チェック工程で使用されるラベルを短時間かつ正確に設定することができる回路設計支援装置を提供する。【解決手段】  回路設計支援装置であって、設計対象の回路のうちの一部の構成を、素子および素子間の配線に関する情報で示す構成情報と、ラベルとが対応したラベル設定情報を取得するパラメータファイル取得部１１と、取得されたラベル設定情報のうちの構成情報と合致する構成を、設計対象の回路で使用される素子、および該素子間の配線に関する情報を保持したレイアウトデータベース３０から選択するレイアウト選択部１２と、レイアウト選択部１２にて選択された構成に、前記構成情報と対応したラベルを設定するラベル設定部１３と、を備えた。【選択図】図１
2010033208.tif 000002
【特許請求の範囲】
【請求項１】
設計対象の回路のうちの一部の構成を、素子および素子間の配線に関する情報で示す構成情報と、ラベルとが対応したラベル設定情報を取得する取得部と、
前記取得部にて取得されたラベル設定情報のうちの構成情報と合致する構成を、前記設計対象の回路で使用される素子、および該素子間の配線に関する情報を保持した保持部から選択する選択部と、
前記選択部にて選択された構成に、前記構成情報と対応したラベルを設定する設定部と、
を備える回路設計支援装置。
【請求項２】
請求項１に記載の回路設計支援装置において、
前記ラベル設定情報が前記設計対象の回路に対するテストの項目に応じて複数ある場合、
前記取得部は、前記テストの項目に応じてラベル設定情報を選択し、選択したラベル設定情報を取得することを特徴とする回路設計支援装置。
【請求項３】
請求項１に記載の回路設計支援装置において、
ラベル設定情報が複数あり、またラベル設定情報には構成情報と所定のラベルとの対応に、さらに優先順位が対応付けられてある場合、
前記取得部は、優先順位の高いものから順にラベル設定情報を取得し、
前記選択部は、優先順位の高いものから順に選択し、
前記設定部は、優先順位の高いものから順にラベルを設定することを特徴とする回路設計支援装置。
【請求項４】
請求項１に記載の回路設計支援装置において、
構成情報は、開始点、終了点、入出力方向の情報を有し、
前記選択部は、前記開始点で開始し、前記終了点で終了し、前記開始点から前記終了点までの間の信号の入出力の方向が前記構成情報内の入出力方向と合致する構成を選択することを特徴とする回路設計支援装置。
【請求項５】
請求項４に記載の回路設計支援装置において、
前記開始点、前記終了点の情報は、前記設計対象の回路で使用される素子の端子に関する情報であることを特徴とする回路設計支援装置。
【請求項６】
請求項４に記載の回路設計支援装置において、
前記終了点の情報は、前記開始点からの素子の段数であり、
前記選択部は、前記開始点から前記段数までの構成を選択することを特徴とする回路設計支援装置。
【請求項７】
請求項４に記載の回路設計支援装置において、
前記選択部は、構成情報内の開始点、終了点の情報に正規表現として用いられる表記がある場合、該表記を正規表現とした場合にマッチする構成を選択することを特徴とする回路設計支援装置。
【請求項８】
設計対象の回路のうちの一部の構成を、素子および素子間の配線に関する情報で示す構成情報と、ラベルとが対応したラベル設定情報を取得する取得ステップと、
前記取得ステップにて取得されたラベル設定情報のうちの構成情報と合致する構成を、前記設計対象の回路で使用される素子、および該素子間の配線に関する情報を保持した保持部から選択する選択ステップと、
前記選択ステップにて選択された構成に、前記構成情報と対応したラベルを設定する設定ステップと、
をコンピュータに実行させる回路設計支援プログラム。
【請求項９】
請求項８に記載の回路設計支援プログラムにおいて、
前記ラベル設定情報が前記設計対象の回路に対するテストの項目に応じて複数ある場合、
前記取得ステップは、前記テストの項目に応じてラベル設定情報を選択し、選択したラベル設定情報を取得することを特徴とする回路設計支援プログラム。
【請求項１０】
設計対象の回路のうちの一部の構成を、素子および素子間の配線に関する情報で示す構成情報と、ラベルとが対応したラベル設定情報を取得する取得ステップと、
前記取得ステップにて取得されたラベル設定情報のうちの構成情報と合致する構成を、前記設計対象の回路で使用される素子、および該素子間の配線に関する情報を保持した保持部から選択する選択ステップと、
前記選択ステップにて選択された構成に、前記構成情報と対応したラベルを設定する設定ステップと、
を実行する回路設計支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＳＩの物理設計を支援する回路設計支援装置、回路設計支援プログラム、回路設計支援方法に関する。
【背景技術】
【０００２】
近年、ＬＳＩ設計はトランジスタの微細化により、ＬＳＩの高集積化が進み、ゲート数の増加や論理の複雑さが増している。
【０００３】
また、ＬＳＩの設計工程で各種チェック等の検証作業を行う際、効率よくテストを行うために、例えばダイオードやトランジスタ等の素子と、素子の端子間の配線とで構成される構成パタン（以下、ネットと称す）に対し、ラベル（以下ネットコードと称す）が設定される。
【０００４】
ここで、ＬＳＩ設計の手順の概略を図２５のフローチャートに示すとともに説明する。
【０００５】
まず、実現可能性の調査とダイサイズの見積もり等の機能検証を行う論理設計が行われ（Ｓ１０１）、その後、ネットリストの作成、セル配置、配線の設計等を行う物理設計（Ｓ１０２）が行われる。その後、設計されたＬＳＩが設計規則と異なるものであるかの検証であるデザインルール確認（Ｓ１０３）が行われた後、処理はＬＳＩの実際の製造工程に入る（Ｓ１０４）。
【０００６】
次に、物理設計工程（Ｓ１０２）の詳細について、図２６を参照しつつ説明する。
【０００７】
ＬＳＩの物理設計においては、ＬＳＩの各端子間の接続情報をまとめたネットリストの作成が行われ（Ｓ１１０）、ＬＳＩに組み込まれる素子、配線に関する情報を集積したレイアウトデータベースの作成（Ｓ１１１）が行われる。その後、セルの配置設計（Ｓ１１２）がなされ、電源配線、クロック配線、一般配線等の各種配線の設計がなされる（Ｓ１１３、Ｓ１１４、Ｓ１１５）。
【０００８】
その後、ＬＳＩ内部のクロックのばらつきを確認、検証するためのタイミングチェックがなされ（Ｓ１１６）、クロストークノイズのチェック等、各種チェックがなされる（Ｓ１１７）。
【０００９】
上述したように、効率的に各種チェック（Ｓ１１７）、およびレイアウト作業（Ｓ１１２、Ｓ１１３、Ｓ１１４、Ｓ１１５、Ｓ１１６）を行うためにネットに対しネットコードが設定される。また、一般的に各種チェック項目に応じて対象とするネットコードの構成が異なる。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述のネットコードは、正しく短期間で設定される必要がある。従来の技術では、ネットに対するネットコードの設定については、ユーザの手作業、またはネット個々に対してのみ処理可能なツールによって個別に設定するしかなかった。かかる手法では、複雑な回路に対応できず、例え対応できても数十万、数百万のネットそれぞれに対し、ネットコードを設定するのは相当の時間を要し、工期的にも問題がある。
【００１１】
またネットコードの設定の誤りも多数発生し、誤ったネットコードが設定された場合にはその後の各種チェックが正しく行われず、ＬＳＩが正常に動作しない等の大きな問題になってしまう。
【００１２】
更に、チェック項目よって対象とするネットの構成が異なる場合があるが、かかる構成の異なりに応じてネットコードを切り替えることも必要である。
【００１３】
本発明は上述した問題点を解決するためになされたものであり、複雑な回路に対しても短時間で正しいネットコードを設定することができる回路設計支援装置、回路設計支援プログラム、回路設計支援方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
回路設計支援装置は、設計対象の回路のうちの一部の構成を、素子および素子間の配線に関する情報で示す構成情報と、ラベルとが対応したラベル設定情報を取得する取得部と、前記取得部にて取得されたラベル設定情報のうちの構成情報と合致する構成を、前記設計対象の回路で使用される素子、および該素子間の配線に関する情報を保持した保持部から選択する選択部と、前記選択部にて選択された構成に、前記構成情報と対応したラベルを設定する設定部と、を備える。
【００１５】
回路設計プログラムは、設計対象の回路のうちの一部の構成を、素子および素子間の配線に関する情報で示す構成情報と、ラベルとが対応したラベル設定情報を取得する取得ステップと、前記取得ステップにて取得されたラベル設定情報のうちの構成情報と合致する構成を、前記設計対象の回路で使用される素子、および該素子間の配線に関する情報を保持した保持部から選択する選択ステップと、前記選択ステップにて選択された構成に、前記構成情報と対応したラベルを設定する設定ステップと、をコンピュータに実行させる。
【００１６】
回路設計方法は、設計対象の回路のうちの一部の構成を、素子および素子間の配線に関する情報で示す構成情報と、ラベルとが対応したラベル設定情報を取得する取得ステップと、前記取得ステップにて取得されたラベル設定情報のうちの構成情報と合致する構成を、前記設計対象の回路で使用される素子、および該素子間の配線に関する情報を保持した保持部から選択する選択ステップと、前記選択ステップにて選択された構成に、前記構成情報と対応したラベルを設定する設定ステップと、を実行する。
【発明の効果】
【００１７】
複雑な回路に対し、ラベル定義情報に基づき保持部に保持された構成にラベルの設定をすることができるため、短時間で正しいラベルを設定することができ、またラベル設定の誤りを減少させることができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態を図を参照しつつ説明する。本実施の形態のネットコード設定方法は、所定の記載ルールに則って作成された外部パラメータファイルに従ってネットコードを設定する方法である。以下、詳説する。
【００１９】
図１に、本実施の形態に係るＬＳＩ設計システムの構成を示す。ＬＳＩ設計システム１（回路設計支援装置）は、その内部にネットコード設定部１０、外部パラメータファイル２０、レイアウトデータベース３０（保持部）を備える。
【００２０】
ネットコード設定部１０は、外部パラメータファイル２０に保持された情報を取得し、外部パラメータファイル２０の記述に基づきネットにラベルを設定する処理を実施する機能部であり、パラメータファイル取得部１１（取得部）、レイアウト選択部１２（選択部）、ラベル設定部１３（設定部）を備える。
【００２１】
外部パラメータファイル２０は、所定の記載ルールに則って作成された定義ファイルである。外部パラメータファイル２０は、設計対象の回路のうちの一部の構成を素子および素子間の配線に関する情報で示す設定ルール（構成情報）と、所定のラベルとの対応が記載ルールに基づき列記されている。以下、設定ルールとラベルとの対応を示す情報を、必要に応じラベル設定情報と記す。
【００２２】
レイアウトデータベース３０は、設計対象のＬＳＩで使用される素子、および素子間の配線に関する情報で示されたネットを保持したデータベースである。
【００２３】
パラメータファイル取得部１１は、外部パラメータファイル２０を取得し、さらに外部パラメータファイル２０からラベル設定情報をそれぞれ取得する。
【００２４】
レイアウト選択部１２は、パラメータファイル取得部１１で取得されたラベル設定情報に示された設定ルールと合致するネットを、レイアウトデータベース３０から選択する。
【００２５】
ラベル設定部１３は、レイアウト選択部１２から選択されたネットに、対応するラベル、すなわち、ネットと合致している設定ルールに対応したラベルを設定する。
【００２６】
上述のネットコード設定部１０内の各機能は、ＣＰＵ（Central Processing Unit）１０１、揮発性の記憶装置および不揮発性の記憶装置を備えたメモリ１０２のハードウェア資源と、メモリ１０２内に記憶されたプログラムとが、協働することで実現される。
【００２７】
また、本実施の形態では、外部パラメータファイル２０、レイアウトデータベース３０は、共にメモリ１０２内に保持されているものとするが、これら各種の情報は、ＬＳＩ設計システム１の外部から取得されてもよい。
【００２８】
つぎに、外部パラメータファイル２０の記載ルールについて説明する。
【００２９】
まず、各種チェック項目に応じてネットコードを設定する外部パラメータファイル２０の記載例を図２に示す。上述したとおり、一般的に各種チェック項目に応じて対象とするネットコードの構成が異なるため、ユーザがチェック項目に応じてネットコードの構成を指定できることが好ましい。すなわち、ユーザは、チェック項目が複数ある場合、チェック項目に応じて予め複数のルールを外部パラメータファイル２０に記載しておく。
【００３０】
図２の記載について説明する。「ＯＢＪＥＣＴ  ＣＨＥＣＫ１」、「ＯＢＪＥＣＴ  ＣＨＥＣＫ２」等、「ＯＢＪＥＣＴ  ・・・」の記載で各種チェック項目の分別がなされている。
【００３１】
ネットコード設定部１０は、ユーザがＬＳＩ設計システム１での処理実施時に例えば「ＣＨＥＣＫ１」を指定した場合、「ＯＢＪＥＣＴ  ＣＨＥＣＫ１」内の記載に基づきネットコードを設定する。同様に、ユーザが「ＣＨＥＣＫ２」を指定した場合、「ＯＢＪＥＣＴ  ＣＨＥＣＫ２」内の記載に基づきネットコードを設定する。
【００３２】
また、ＬＳＩ設計システム１での処理実施時にユーザからのチェック項目の指定が無い場合、「ＯＢＪＥＣＴ  ＤＥＦＡＵＬＴ」内に記載されているルールに基づきネットコードが設定される。
【００３３】
上述の記載ルールにより、各種チェック項目に応じて、外部パラメータファイルに設定するネットコードを切り替えることが可能であるため、各種チェック目的に応じて設定するネットコードを分け、また予め複数記載することが可能となる。
【００３４】
尚、以降の図中の「・・・・」で表記した点線箇所は、実際に記載されているが本説明において主要でないため省略した表記である。
【００３５】
図３は、ネットコード単位での設定ルールの記述を示す図面である。図３に示すような記述が外部パラメータファイル２０になされることで、ネットコード単位での設定ルールの指定が可能となり、設定ルールとネットコードとが対応する。すなわち、ネットコード名とネットコード（ラベル）が記述され、その下にネットコードに対する設定ルール（図３中の点線箇所）が記述されることで、設定ルールとネットコードとの対応付けがなされる。
【００３６】
尚、図３は、ネットコード名に「ＮｅｔＣｏｄｅ１」が指定されている例である。また「ＣＯＤＥ  １」はネットコードに「１」を指定する書式である。同様に、ネットコード名に「ＮｅｔＣｏｄｅ２」、ネットコードに「２」も指定されている。
【００３７】
尚、素子および素子間の配線に関する情報で示される設定ルールとネットコードとが対応したラベル設定情報が「ＣＬＡＳＳ」で指定される。すなわち、「ＣＬＡＳＳ」が記載された行と同一の行、もしくは「ＣＬＡＳＳ」が記載されてから「；」が記載されるまでの間に記載されている内容にネットコードが含まれ、「ＣＬＡＳＳ」内の各行に設定ルールが記載される。
【００３８】
また、ネットコードの指定として、外部パラメータファイル２０が図４に示したように記述されることで、ネットコードは、トレース段数毎に設定されることも可能である。尚、図４における「３（Ｎ＝１）」の記載は、後述するトレース開始点からトレース段数が１のネットに対しネットコード「３」を指定する記載例であり、「４（Ｎ＞＝２＆Ｎ＜＝５）」の記載は、トレース開始点からトレース段数が２以上かつ５以下のネットに対しネットコード「４」を指定する記載例である。また「５（Ｎ＞５）」の記載は、トレース開始点からトレース段数が５より大きいネットに対しネットコード「５」を指定する記載例である。
【００３９】
次に、ネットコード設定部１０が処理を行う優先順位を指定する際の外部パラメータファイル２０の記載ルールを説明する。図５に示すように各ネットコードに対応する設定ルール（図５の点線）に対し、「PRIORITY 1」等で示されるラベルを設定する際の優先順位が指定されている場合、パラメータファイル取得部１１は、外部パラメータファイル２０を取得後、優先順位の順番でネットコード、設定ルールの対を取得する。また、レイアウト選択部１２は、優先順位の順番でレイアウトデータベース３０から設定ルールと合致するネットを選択し、ラベル設定部１３も、優先順位の順番でネットコードを設定していく。尚、例えば上述図４で説明したように段数でのネットコードの指定と、以降で説明するトレース開始点、トレース終了点、トレース方向によるネットコードの指定とで、ネットコードが競合し、同一のネットが該当するが異なるネットコードが指定される場合がある。このようにネットコードが競合する場合は、先に設定されたネットコード、すなわち優先順位が高位であるネットコードが付される。
【００４０】
図５では、ネットコード「１」の優先順位は２となり、ネットコード「２」の優先順位が１であるため、ネットコード「２」の設定ルールが先に処理され、次にネットコード「１」の設定ルールが処理される。
【００４１】
次に、レイアウトデータベース３０内のネットを特定するための設定ルール内の記載ルールについて説明する。
【００４２】
図６に示すように、ネットコード名「１」、ネットコード「１」に対応する設定ルールとして、トレース開始点（構成の開始点）「START」、トレース終了点（構成の終了点）「END」、トレース方向（信号の入出力方向）「DIRECTION」を指定することができる。尚、トレース方向は実際の信号の入出力方向を意味し、「DIRECTION FORWARD」は、信号出力から入力方向に向けたトレース方向の指定であることを意味し、「DIRECTION BACKWARD」は、信号入力から信号出力に向けたトレース方向の指定であることを意味する。すなわち、「DIRECTION FORWARD」は、「START」で指定された素子から「END」で指定された素子へ信号が流れるネットをレイアウトデータベース３０から選択させるための設定であり、「DIRECTION BACKWARD」は、「END」で指定された素子から「START」で指定された素子へ信号が流れるネットをレイアウトデータベース３０から選択させるための設定である。
【００４３】
設定ルールに「START」、「END」、「DIRECTION」で設定された全ての条件に合致したネットが、レイアウトデータベース３０から選択される。
【００４４】
次に、トレース開始点、トレース終了点を設定する際の記載ルールを説明する。
【００４５】
図７に、トレースの開始、終了点をマクロ名で指定を行う場合の例を示す。例えば、レイアウトデータベース３０内に予め定義されたマクロ、たとえばマクロ名を「ＣＥＬＬ＿ＩＮＶ１」としたマクロをトレース開始点として指定する場合、「START MACRO(CELL＿INV１,・・・)」と記載する。同様に、予め定義された別のマクロ、例えばマクロ名を「ＣＥＬＬ＿ＢＵＦ２」としたマクロをトレース終了点として指定する場合、「END MACRO(CELL＿BUF2,・・・）」と記載する。
【００４６】
同様に、トレース開始点、終了点に対し、マクロの種別として設定されたマクロ種別名を指定することも可能である。図８にマクロ種別名の指定例を示す。
【００４７】
例えば、図８に示すように、レイアウトデータベース３０内に予め定義された、マクロ種別名「ＣＬＯＣＫ８」で示されるマクロ種別をトレース開始点として指定する場合、外部パラメータファイル２０は「START MACROKIND(CLOCK8,・・・)」と記載する。また、外部パラメータファイル２０に「END MACROKIND(INVERTER,BUFFER,・・・)」と記載されることで、マクロ種別「ＩＮＶＥＲＴＥＲ」、「ＢＵＦＦＥＲ」の両方がトレース終了点となるネットがレイアウトデータベース３０から選択される。
【００４８】
同様に、トレース開始点、終了点に対し、インスタンス名を指定することも可能である。図９にインスタンス名の指定例を示す。
【００４９】
図９に示すように、外部パラメータファイル２０に「START INSTANCE(A1/B1/AAB4B,・・・)」と記載されることで、レイアウトデータベース３０に定義されたインスタンス名「Ａ１／Ｂ１／ＡＡＢ４Ｂ」で示されるインスタンスがトレース開始点として指定される。同様に、外部パラメータファイル２０に「END INSTANCE(A1/B1/AAB4D,・・・）」と記載されることで、インスタンス名「Ａ１／Ｂ１／ＡＡＢ４Ｄ」としてレイアウトデータベース３０に定義されたインスタンスがトレース終了点として指定される。
【００５０】
また、トレースの開始、終了点として、外部パラメータファイル２０に図１０で示すような記載がされることで、階層ピン含むレイアウトデータベース３０に定義されたピンがトレースの開始、終了点として指定される。例えば「START PIN(SO,SO[1],SO[2])」と外部パラメータファイル２０に記載された場合、ピン名「ＳＯ」、「ＳＯ［１］」、「ＳＯ［２］」のすべてのピンをトレース開始点としたネットが指定される。同様に、「END PIN(SI),・・・」と外部パラメータファイル２０に記載された場合、ピン名「ＳＩ」をトレース終了点としたネットが指定される。
【００５１】
トレースの開始、終了点をピン種別名で指定を行う場合の外部パラメータファイル２０の内容を図１１に示す。図１１のような記載で、上述と同様に、トレースの開始、終了点として、レイアウトデータベース３０に定義されたピンの種別が指定される。
【００５２】
例えば、ピン種別名「ＳＣＡＮ＿ＯＵＴ」をトレース開始点として指定する場合は、「START PINKIND(SCAN＿OUT,..)」が外部パラメータファイル２０に記載される。また、ピン種別名「ＳＣＡＮ＿ＩＮ」をトレース終了点として指定する場合は、「END PINKIND(SCAN＿IN,..)」が外部パラメータファイル２０に記載される。
【００５３】
トレース開始点、終了点をマクロ名およびピン名で指定することも可能である。図１２にこのような指定が記載された例を示す。
【００５４】
図１２の中で、「START MACROPIN([MACRO]CELL＿INV1＋[PIN]X,..)」は、マクロ名「ＣＥＬＬ＿ＩＮＶ１」のピン名「Ｘ」がトレース開始点として指定される場合の記載である。また、「END MACROPIN([MACRO]CELL＿BUF2＋[PIN]A,..)」は、マクロ名「ＣＥＬＬ＿ＢＵＦ２」のピン名「Ａ」がトレース終了点として指定される場合の記載である。設定ルールにこのように設定されることで、レイアウト選択部１２はトレース開始点が「ＣＥＬＬ＿ＩＮＶ１」と「Ｘ」とで構成され、かつトレース終了点が「ＣＥＬＬ＿ＢＵＦ２」と「Ａ」とで構成され、さらにトレース方向が「ＦＯＥＷＡＲＤ」であるネットをレイアウトデータベース３０から選択する。
【００５５】
マクロの指定にはマクロ名の他にマクロ種別名、インスタンス名の指定も可能である。また、ピンの指定にはピン名の他に、ピン種別名の指定が可能である。
【００５６】
また、図１３のように外部パラメータファイル２０が記述されることで、トレースの開始、終了点が、レイアウトデータベース３０に保持されているネットとなるよう指定される。
【００５７】
例えば、レイアウトデータベース３０内にネット名「Ａ１／Ｂ１／Ａ２７Ｄ［１］」であるネットが保持されている場合、外部パラメータファイル２０が「START NET(A1/B1/A27D[1],..)」と記述されることで、当該ネットがトレース開始点として指定される。また、ネット名「Ａ１／Ｂ１／Ａ２７Ｄ［２］」であるネットが保持されている場合、外部パラメータファイル２０が「END NET(A1/B1/A27D[2],..)」と記述されることで、当該ネットがトレース終了点として指定される。
【００５８】
トレースの終了点にトレース段数が指定される記載ルールを図１４に示す。図１４に示すように、例えばトレース開始点から５段をトレース終了点とする場合、「END STEP(5)」と記述する。図１４の場合、レイアウト選択部１２は、所定のトレース開始点から、段数５までのもので、かつトレース方向が「FORWARD」のネット全てを選択し、ラベル設定部１３は、選択された全てのネットにネットコード１を設定する。
【００５９】
トレースの終了点を回路の特徴を表すキーワードで指定を行う場合には図１５のように外部パラメータファイル２０の記述を行う。例えば「END FUNC(MULTI＿FANOUT＿NET,3＿INPUT＿MACRO,..)」の記載は、ファンアウトが複数あるネットで、３個入力端子があるマクロをトレース終了点とすることを意味する。
【００６０】
また、トレースの開始、終了点にユーザが定義したグループ名が指定される例を図１６に示す。図１６の例のように外部パラメータファイル２０が記載された場合、ユーザが定義したグループ名「ＥＦＢ１」がトレース開始点となり、グループ名「ＥＦＢ２」がトレース終了点となる。
【００６１】
尚、ユーザが指定するグループ名の定義は、図１７のようになる。このように上述したマクロ名、マクロ種別名、インスタンス名、ピン名、ピン種別名がそれぞれグループ名の指定内に列挙されることで、列挙された要素の集合がトレースの開始、終了点として指定される。このようにトレース開始点またはトレース終了点がグループ名にまとめられた個々の要素全てに合致するネットが、レイアウト選択部１２によって選択される。
【００６２】
このグループ名の定義は、レイアウトデータベース３０に保持されてもよいし、外部パラメータファイル２０内に記述されていてもよい。当然、グループ名の定義は外部パラメータファイル２０以外のファイルとして保持されていてもよい。
【００６３】
また、外部パラメータファイル２０における上述の各定義が正規表現の記述で行われる例を図１８に示す。図１８の例のように、「START NET(A1/B1/A27D[*],..)」と外部パラメータファイル２０に記載されている場合は、「Ａ１／Ｂ１／Ａ２７Ｄ［＊］」（「＊」はいずれの数値、文字でもよい）にマッチするものであれば、いずれの素子でもトレース開始点として適用される。トレース終了点についても同様である。このように正規表現の記載に対応できるため、効率的な設定ルールの記述が可能となる。
【００６４】
また、図１９のように外部パラメータファイル２０が記述されることにより、トレースの開始、終了点に関して、上述図７から図１８までで説明した指定を混在して定義することが可能となる。例えば、マクロ名「ＣＥＬＬ＿ＩＮＶ１」、ピン名「ＳＯ」となる構成をトレース開始点として指定する場合は、図１９のように「START MACRO(CELL＿INV1,..) ; PIN(SO,..) ;」との記載となる。トレース終了点についても同様の指定が可能である。このように記述方法を混在させることができるため、複雑な回路に対応した設定ルールを記述することが可能となる。
【００６５】
次に、本実施の形態の動作について説明する。まず、以下の説明の前提として、図２０に予めレイアウトデータベース３０に定義されたマクロの一例を示す。
【００６６】
例えば、図２０(ａ)に示すように、マクロ名が「ＣＬＫ＿ＣＨＯＰ＿Ａ」、マクロ種別が「ＣＨＯＰＰＥＲ」であるマクロには、ピン種別が「ＣＬＯＣＫ＿ＩＮ」であるピン「Ａ」、ピン種別が「ＣＬＯＣＫ＿ＯＵＴ」でるピン「Ｘ」が定義されている。
【００６７】
また、図２０（ｂ）に示すように、マクロ名が「ＬＡＴＣＨ＿４Ｂ」、マクロ種別が「ＬＡＴＣＨ」であるマクロには、ピン種別が「ＣＬＯＣＫ＿ＩＮ」であるピン「ＣＫ」、ピン種別が「ＤＡＴＡ＿ＩＮ」であるピン「ＬＤ[１]からＬＤ[４]」が定義されている。また、ピン種別が「ＣＬＯＣＫ＿ＩＮＨ」であるピン「ＩＨ」、ピン種別が「ＳＣＡＮ＿ＩＮ」であるピン「ＳＩ」、およびピン種別が「ＳＣＡＮ＿ＯＵＴ」であるピン「ＳＯ」がマクロ名「ＬＡＴＣＨ＿４Ｂ」のマクロに定義されている。
【００６８】
また、レイアウトデータベース３０に予め保持されている情報に基づいた設計対象の回路図を図２１に示す。図２１における「ＣＬＫ＿ＣＨＯＰ＿Ａ」、「ＬＡＴＣＨ＿４Ｂ」は、図２０にて示した定義がなされているものとする。また、「ＣＬＫ＿ＢＵＦ７」、「ＣＬＫ＿ＢＵＦ８」、および「ＴＥＳＴ＿ＢＵＦ」も、上述図２０と同様に、レイアウトデータベース３０内に予め定義されたマクロであるものとする。
【００６９】
図２１に示す回路レイアウトとなる情報がレイアウトデータベース３０内に設定されているとする。かかる回路レイアウトに対し、ネットコードを設定するものとして説明する。
【００７０】
また、外部パラメータファイル２０の記載は図２２の通りであるものとする。  
【００７１】
図２２に記載された内容の一例として、ネットコード名が「Ｃｌｏｃｋ７」、「Ｃｌｏｃｋ８」の記載について説明する。ネットコード名が「Ｃｌｏｃｋ７」で示した記載で、トレース方向が「ＦＯＲＷＡＲＤ」であり、トレース開始点がマクロ名「ＣＬＫ＿ＢＵＦ７」のピン名「Ｘ」、かつトレース終了点がマクロ名「ＣＬＫ＿ＢＵＦ８」であるネットに対しネットコード７が設定される。また、ネットコード名が「Ｃｌｏｃｋ８」で示した記載で、トレース方向が「ＦＯＲＷＡＲＤ」であり、トレース開始点がマクロ名「ＣＬＫ＿ＢＵＦ８」のピン名「Ｘ」、かつトレース終了点がマクロ名「ＣＬＫ＿ＣＨＯＰ＿Ａ」であるネットに対しネットコード８が設定される。
【００７２】
その他の記載も同様であり、図２２に示した外部パラメータファイル２０の記載に関しては、上述の図２から図１９までの内容がそのまま適用できるためここでの説明は割愛する。
【００７３】
次に、上述のレイアウトデータベース３０に保持されている情報、外部パラメータファイル２０に記載された内容に基づき、ＬＳＩ設計システム１のネットコード設定部１０の処理について、図２３のフローチャートを参照しつつ説明する。尚、いずれのチェック目的に応じたネットコードを設定するかの別は、図２３の処理を実行するＬＳＩ設計システム１のプログラムに対し、ユーザが引数として渡してもよいし、別途設定ファイルに記載された値をＬＳＩ設計システム１が取得してもよい。
【００７４】
パラメータファイル取得部１１は、外部パラメータファイル２０を読み込む（Ｓ１）。パラメータファイル取得部１１は、外部パラメータファイル２０の中でチェック項目のルール（「ＯＢＪＥＣＴ  ＣＨＥＣＫ」）が存在するかを判定する（Ｓ２）。
【００７５】
ここで、外部パラメータファイル２０にチェック項目の設定ルールが存在する場合（Ｓ２、ＹＥＳ）、パラメータファイル取得部１１は、上述の手法で取得したチェック項目単位内に記載された全ての記載データを外部パラメータファイル２０から取得する（Ｓ３）。ここでは、取得されたチェック項目単位が「ＯＢＪＥＣＴ  ＣＨＥＣＫ１」であるものとする。一方、チェック項目の設定ルールが外部パラメータファイル２０に存在しない場合（Ｓ２、ＮＯ）、パラメータファイル取得部１１は、デフォルトとして設定されているチェック項目内の全ての記載データを外部パラメータファイル２０から取得する（Ｓ４）。
【００７６】
次に、パラメータファイル取得部１１は、取得した記載データの中で、「PRIORITY」に記載された優先順位でネットコードと設定ルールとの対をソートする（Ｓ５）。その後、レイアウト選択部１２およびラベル設定部１３による個々の設定ルールに対する処理が行われる。
【００７７】
レイアウト選択部１２は、レイアウトデータベース３０から設定ルールに記載されたトレース開始点を読み出し、メモリ１０２に登録する（Ｓ６）。また、レイアウト選択部１２は、トレース終了点、トレース方向も同様にメモリ１０２に登録する。
【００７８】
レイアウト選択部１２は、設定ルールと合致するネットを、レイアウトデータベース３０から選択する（Ｓ７）。レイアウト選択部１２は、トレース開始点でトレースを開始し、トレース終了点でトレースを終了し、トレース開始点からトレース終了点までの間の信号の入出力の方向がトレース方向と合致するネットを選択する。尚、レイアウト選択部１２は設定ルールに合致するネットが複数ある場合、全てのネットを選択する。
【００７９】
また、レイアウト選択部１２は、トレース終了点が段数で指定されている場合、トレース開始点からトレース終了点に示された段数までのネットを選択する。さらに、レイアウト選択部１２は、トレース開始点、トレース終了点の記載に正規表現として記載された表記がある場合、その表記を正規表現とした場合にマッチするネットを選択する。
【００８０】
上述のように選択されたネットに対し、ラベル設定部１３は、処理を行っている設定ルールと対応したネットコードをネットに設定する（Ｓ８）。尚、ネットコードの設定は、ネットとラベルとの対応が明らかになるよう、ラベルをレイアウトデータベース３０に登録することでなされる。また、ラベル設定部１３はネットが複数選択された場合、全てのネットに対し同一のラベルを設定する。
【００８１】
全てのネットコードがネットに設定されるまで、ステップＳ６、Ｓ７、Ｓ８の処理が繰り返される（Ｓ９、ＮＯからＳ６へのループ）。全ての設定ルールに対しネットコードが設定された場合（Ｓ９、ＹＥＳ）、ネットコードの設定処理は完了する（Ｓ１０）。
【００８２】
その後、他の工程で、設定されたネットコードに基づき各種チェック、およびレイアウト作業がなされる（Ｓ１１）。
【００８３】
上述の処理によって、ネットコードが設定されるが、図２１にて示した回路に対しネットコードが設定された後の回路図を図２４に示す。例えば「ＣＬＫ＿ＢＵＦ７」から「ＣＬＫ＿ＢＵＦ８」までの構成にネットコード「７」が設定され、「ＣＬＫ＿ＢＵＦ８」から「ＣＬＫ＿ＣＨＯＰ＿Ａ」までの構成にネットコード「８」が設定されているように、各ネット上にネットコードが設定される。尚、設定ルールと合致するネットに対しては同一のネットコードが設定される。
【００８４】
従来のネット単位に個別にネットコードを設定する方法では複雑な回路に対応する事が非常に難しく、ネットコードの設定に多大な時間を要した。一方、本実施の形態のＬＳＩ設計システム１によって、外部パラメータファイル２０に記載された設定ルールに従って自動で設定することが可能となり、複雑な回路においてもネットコードの設定が可能となる。
【００８５】
また、本実施の形態によって、例え数百万のネットに対しネットコードを設定する必要がある場合でも、ユーザは数十行、多くても数百行程度記載した外部パラメータファイル２０を作成すれば済むため、ユーザの作業労力、作業時間を大幅に削減できる。
【００８６】
また、本実施の形態により、外部パラメータファイルに各種チェック目的に応じて設定するネットコードを切り替えることを可能にする事により、目的に応じて設定するネットコードを分けることが可能となる。
【００８７】
以上説明したように、本実施の形態により外部パラメータファイルの設定ルールに従ってネットコードの設定を行うことにより、複雑な回路に対して、及び様々な目的に応じて、正しいネットコードの設定が可能である。また短時間で処理することができるため、従来のネットコード設定方法よりも有効である。
【００８８】
また、回路設計支援装置を構成するコンピュータにおいて上述した各ステップを実行させるプログラムを、回路設計支援プログラムとして提供することができる。上述したプログラムは、コンピュータにより読取り可能な記録媒体に記憶させることによって、回路設計支援装置を構成するコンピュータに実行させることが可能となる。ここで、上記コンピュータにより読取り可能な記録媒体としては、ＲＯＭやＲＡＭ等のコンピュータに内部実装される内部記憶装置、ＣＤ−ＲＯＭやフレキシブルディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータ並びにそのデータベースや、更に回線上の伝送媒体をも含むものである。
【００８９】
以上、本実施の形態によれば、以下の付記で示す技術的思想が開示されている。
（付記１）  設計対象の回路のうちの一部の構成を、素子および素子間の配線に関する情報で示す構成情報と、ラベルとが対応したラベル設定情報を取得する取得部と、
前記取得部にて取得されたラベル設定情報のうちの構成情報と合致する構成を、前記設計対象の回路で使用される素子、および該素子間の配線に関する情報を保持した保持部から選択する選択部と、
前記選択部にて選択された構成に、前記構成情報と対応したラベルを設定する設定部と、
を備える回路設計支援装置。
（付記２）  付記１に記載の回路設計支援装置において、
前記ラベル設定情報が前記設計対象の回路に対するテストの項目に応じて複数ある場合、
前記取得部は、前記テストの項目に応じてラベル設定情報を選択し、選択したラベル設定情報を取得することを特徴とする回路設計支援装置。
（付記３）  付記１に記載の回路設計支援装置において、
ラベル設定情報が複数あり、またラベル設定情報には構成情報と所定のラベルとの対応に、さらに優先順位が対応付けられてある場合、
前記取得部は、優先順位の高いものから順にラベル設定情報を取得し、
前記選択部は、優先順位の高いものから順に選択し、
前記設定部は、優先順位の高いものから順にラベルを設定することを特徴とする回路設計支援装置。
（付記４）  付記１に記載の回路設計支援装置において、
構成情報は、開始点、終了点、入出力方向の情報を有し、
前記選択部は、前記開始点で開始し、前記終了点で終了し、前記開始点から前記終了点までの間の信号の入出力の方向が前記構成情報内の入出力方向と合致する構成を選択することを特徴とする回路設計支援装置。
（付記５）  付記４に記載の回路設計支援装置において、
前記開始点、前記終了点の情報は、前記設計対象の回路で使用される素子の端子に関する情報であることを特徴とする回路設計支援装置。
（付記６）  付記４に記載の回路設計支援装置において、
前記終了点の情報は、前記開始点からの素子の段数であり、
前記選択部は、前記開始点から前記段数までの構成を選択することを特徴とする回路設計支援装置。
（付記７）  付記４に記載の回路設計支援装置において、
前記選択部は、構成情報内の開始点、終了点の情報に正規表現として用いられる表記がある場合、該表記を正規表現とした場合にマッチする構成を選択することを特徴とする回路設計支援装置。
（付記８）  付記４に記載の回路設計支援装置において、
前記開始点、前記終了点の情報は、前記設計対象の回路で使用されるマクロに関する情報であることを特徴とする回路設計支援装置。
（付記９）  付記４に記載の回路設計支援装置において、
前記開始点、前記終了点の情報は、前記保持部にて保持されている素子、および該素子間の配線に関する情報で成る構成であることを特徴とする回路設計支援装置。
（付記１０）  付記４に記載の回路設計支援装置において、
前記開始点、前記終了点の情報は、前記保持部にて保持されている情報がグループ化されることで成るグループであることを特徴とする回路設計支援装置。
（付記１１）
付記４に記載の回路設計支援装置において、
前記開始点、前記終了点の情報は、ユーザ指定に基づきグループ化された素子の集合であることを特徴とする回路設計支援装置。
（付記１２）
付記１に記載の回路設計支援装置において、
構成情報は、開始点、および該開始点からの段数の情報を有し、
前記選択部は、前記開始点で開始し、該開始点から前記段数までの構成と合致する構成を選択することを特徴とする回路設計支援装置。
（付記１３）  設計対象の回路のうちの一部の構成を、素子および素子間の配線に関する情報で示す構成情報と、ラベルとが対応したラベル設定情報を取得する取得ステップと、
前記取得ステップにて取得されたラベル設定情報のうちの構成情報と合致する構成を、前記設計対象の回路で使用される素子、および該素子間の配線に関する情報を保持した保持部から選択する選択ステップと、
前記選択ステップにて選択された構成に、前記構成情報と対応したラベルを設定する設定ステップと、
をコンピュータに実行させる回路設計支援プログラム。
（付記１４）  付記１３に記載の回路設計支援プログラムにおいて、
前記ラベル設定情報が前記設計対象の回路に対するテストの項目に応じて複数ある場合、
前記取得ステップは、前記テストの項目に応じてラベル設定情報を選択し、選択したラベル設定情報を取得することを特徴とする回路設計支援プログラム。
（付記１５）  付記１３に記載の回路設計支援プログラムにおいて、
ラベル設定情報が複数あり、またラベル設定情報には構成情報と所定のラベルとの対応に、さらに優先順位が対応付けられてある場合、
前記取得ステップは、優先順位の高いものから順にラベル設定情報を取得し、
前記選択ステップは、優先順位の高いものから順に選択し、
前記設定ステップは、優先順位の高いものから順にラベルを設定することを特徴とする回路設計支援プログラム。
（付記１６）  付記１３に記載の回路設計支援プログラムにおいて、
構成情報は、開始点、終了点、入出力方向の情報を有し、
前記選択ステップは、前記開始点で開始し、前記終了点で終了し、前記開始点から前記終了点までの間の信号の入出力の方向が前記構成情報内の入出力方向と合致する構成を選択することを特徴とする回路設計支援プログラム。
（付記１７）  付記１６に記載の回路設計支援プログラムにおいて、
前記開始点、前記終了点の情報は、前記設計対象の回路で使用される素子の端子に関する情報であることを特徴とする回路設計支援プログラム。
（付記１８）  設計対象の回路のうちの一部の構成を、素子および素子間の配線に関する情報で示す構成情報と、ラベルとが対応したラベル設定情報を取得する取得ステップと、
前記取得ステップにて取得されたラベル設定情報のうちの構成情報と合致する構成を、前記設計対象の回路で使用される素子、および該素子間の配線に関する情報を保持した保持部から選択する選択ステップと、
前記選択ステップにて選択された構成に、前記構成情報と対応したラベルを設定する設定ステップと、
を実行する回路設計支援方法。
（付記１９）  付記１８に記載の回路設計支援方法において、
前記ラベル設定情報が前記設計対象の回路に対するテストの項目に応じて複数ある場合、
前記取得ステップは、前記テストの項目に応じてラベル設定情報を選択し、選択したラベル設定情報を取得することを特徴とする回路設計支援方法。
（付記２０）  付記１８に記載の回路設計支援方法において、
ラベル設定情報が複数あり、またラベル設定情報には構成情報と所定のラベルとの対応に、さらに優先順位が対応付けられてある場合、
前記取得ステップは、優先順位の高いものから順にラベル設定情報を取得し、
前記選択ステップは、優先順位の高いものから順に選択し、
前記設定ステップは、優先順位の高いものから順にラベルを設定することを特徴とする回路設計支援方法。
（付記２１）  付記１８に記載の回路設計支援方法において、
構成情報は、開始点、終了点、入出力方向の情報を有し、
前記選択ステップは、前記開始点で開始し、前記終了点で終了し、前記開始点から前記終了点までの間の信号の入出力の方向が前記構成情報内の入出力方向と合致する構成を選択することを特徴とする回路設計支援方法。
（付記２２）  付記２１に記載の回路設計支援方法において、
前記開始点、前記終了点の情報は、前記設計対象の回路で使用される素子の端子に関する情報であることを特徴とする回路設計支援方法。
【図面の簡単な説明】
【００９０】
【図１】本実施の形態に係るＬＳＩ設計システムの一例を示す構成図である。
【図２】本実施の形態に係る外部パラメータファイルの記載の一例を示す図である（各種チェック目的別）。
【図３】本実施の形態に係る外部パラメータファイルの記載の一例を示す図である（ネットコードと設定ルールとの対応）。
【図４】本実施の形態に係る外部パラメータファイルの記載の一例を示す図である（ネットコードを段数で変更）。
【図５】本実施の形態に係る外部パラメータファイルの記載の一例を示す図である（優先順位設定）。
【図６】本実施の形態に係る外部パラメータファイルの記載の一例を示す図である（トレース開始点、終了点、トレース方向）。
【図７】本実施の形態に係る外部パラメータファイルの記載の一例を示す図である（マクロ名指定）。
【図８】本実施の形態に係る外部パラメータファイルの記載の一例を示す図である（マクロ種別名指定）。
【図９】本実施の形態に係る外部パラメータファイルの記載の一例を示す図である（インスタンス名指定）。
【図１０】本実施の形態に係る外部パラメータファイルの記載の一例を示す図である（ピン名指定）。
【図１１】本実施の形態に係る外部パラメータファイルの記載の一例を示す図である（ピン種別指定）。
【図１２】本実施の形態に係る外部パラメータファイルの記載の一例を示す図である（マクロ名、ピン名指定）。
【図１３】本実施の形態に係る外部パラメータファイルの記載の一例を示す図である（ネット名指定）。
【図１４】本実施の形態に係る外部パラメータファイルの記載の一例を示す図である（トレース段数指定）。
【図１５】本実施の形態に係る外部パラメータファイルの記載の一例を示す図である（キーワード指定）。
【図１６】本実施の形態に係る外部パラメータファイルの記載の一例を示す図である（グループ名指定）。
【図１７】本実施の形態に係るグループ定義の記載の一例を説明する図である。
【図１８】本実施の形態に係る外部パラメータファイルの記載の一例を示す図である（ネット名指定）。
【図１９】本実施の形態に係る外部パラメータファイルの記載の一例を示す図である（混合指定）。
【図２０】本実施の形態に係るマクロの定義の一例について示す図である。
【図２１】本実施の形態に係るレイアウトデータベースに予め保持されている情報に基づいた設計対象の回路図である。
【図２２】本実施の形態に係る外部パラメータファイルの記載の一例を示す図である（図２１と対応）。
【図２３】本実施の形態におけるＬＳＩ設計システムの処理を説明するフローチャートである。
【図２４】図２１の回路に対しネットコードを設定した回路図である。
【図２５】ＬＳＩの製造の概要を示すフローチャートである。
【図２６】ＬＳＩの物理設計工程の処理手順の概要を示すフローチャートである。
【符号の説明】
【００９１】
１  ＬＳＩ設計システム、１０  ネットコード設計部、１１  パラメータファイル取得部、１２  レイアウト選択部、１３  ラベル設定部、２０  外部パラメータファイル、３０  レイアウトデータベース、１０１  ＣＰＵ、１０２  メモリ。
【図１】
2010033208.tif 000003
【図２】
2010033208.tif 000004
【図３】
2010033208.tif 000005
【図４】
2010033208.tif 000006
【図５】
2010033208.tif 000007
【図６】
2010033208.tif 000008
【図７】
2010033208.tif 000009
【図８】
2010033208.tif 000010
【図９】
2010033208.tif 000011
【図１０】
2010033208.tif 000012
【図１１】
2010033208.tif 000013
【図１２】
2010033208.tif 000014
【図１３】
2010033208.tif 000015
【図１４】
2010033208.tif 000016
【図１５】
2010033208.tif 000017
【図１６】
2010033208.tif 000018
【図１７】
2010033208.tif 000019
【図１８】
2010033208.tif 000020
【図１９】
2010033208.tif 000021
【図２０】
2010033208.tif 000022
【図２１】
2010033208.tif 000023
【図２２】
2010033208.tif 000024
【図２３】
2010033208.tif 000025
【図２４】
2010033208.tif 000026
【図２５】
2010033208.tif 000027
【図２６】
2010033208.tif 000028