JP2004535013A - I.c.セルとライブラリの識別 - Google Patents
I.c.セルとライブラリの識別 Download PDFInfo
- Publication number
- JP2004535013A JP2004535013A JP2003509364A JP2003509364A JP2004535013A JP 2004535013 A JP2004535013 A JP 2004535013A JP 2003509364 A JP2003509364 A JP 2003509364A JP 2003509364 A JP2003509364 A JP 2003509364A JP 2004535013 A JP2004535013 A JP 2004535013A
- Authority
- JP
- Japan
- Prior art keywords
- cell
- database
- feature
- cells
- unknown
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013461 design Methods 0.000 claims abstract description 57
- 238000000034 method Methods 0.000 claims abstract description 32
- 238000012545 processing Methods 0.000 claims description 20
- 230000015654 memory Effects 0.000 claims description 18
- 230000011664 signaling Effects 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 2
- 230000008054 signal transmission Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 abstract description 5
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000004519 manufacturing process Methods 0.000 description 20
- 238000011156 evaluation Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 15
- 238000003860 storage Methods 0.000 description 11
- 239000004065 semiconductor Substances 0.000 description 9
- 235000012431 wafers Nutrition 0.000 description 6
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 5
- 230000002950 deficient Effects 0.000 description 4
- 238000012938 design process Methods 0.000 description 4
- 238000012854 evaluation process Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 229910052710 silicon Inorganic materials 0.000 description 4
- 239000010703 silicon Substances 0.000 description 4
- 230000003915 cell function Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000000873 masking effect Effects 0.000 description 3
- 239000002184 metal Substances 0.000 description 3
- 229910052751 metal Inorganic materials 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000010845 search algorithm Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 239000003990 capacitor Substances 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 229910052581 Si3N4 Inorganic materials 0.000 description 1
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N Silicium dioxide Chemical compound O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 239000000919 ceramic Substances 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000005574 cross-species transmission Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005530 etching Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003647 oxidation Effects 0.000 description 1
- 238000007254 oxidation reaction Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000000206 photolithography Methods 0.000 description 1
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 1
- 229920005591 polysilicon Polymers 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- HQVNEWCFYHHQES-UHFFFAOYSA-N silicon nitride Chemical compound N12[Si]34N5[Si]62N3[Si]51N64 HQVNEWCFYHHQES-UHFFFAOYSA-N 0.000 description 1
- 229910052814 silicon oxide Inorganic materials 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/18—Manufacturability analysis or optimisation for manufacturability
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Stored Programmes (AREA)
Abstract
【解決手段】集積回路の設計コードを評価するための機器と、方法と、プログラム製品。プログラムは、セル特徴に基づいて、識別子をセルに割り当てる。このプログラムは、識別子と特徴とを格納しかつ呼び出すように構成されているデータベース内で、セルに関するさらなる属性と共に、識別子をカタログ化する。このプログラムは、この識別子または特徴を、設計コードに埋め込まれているセルに関連付けることが出来る。
【選択図】図3
Description
【0001】
本発明は、半導体に関し、かつさらに具体的には、集積回路の生産に関連する設計処理と評価処理とに関する。
【背景技術】
【0002】
半導体の製造業者は、試験処理と評価処理は、いたる所にあり、かつ設計作業と生産作業に不可欠なものである考える。(集積回路(I.C.)およびコンピュータチップとしても知られている)半導体は、情報を電子的に処理し、格納し、かつ移動させる、シリコン上のエッチングされた小さな電子回路である。以下に広く説明するように、半導体の生産に関連する処理には、経済的資源と人的資源との著しい投資が必要である。したがって、シリコンの設計に取り掛かる前に、I.C. レイアウトの完全性を確認することが有利である。
【0003】
製造業者は、ドープされ研磨されたシリコン・ウエハの表面上に集積回路を作成する。このウエハに第一微細層を形成するために、生産処理には、拡散、薄膜、酸化、フォトリソグラフィ、堆積技術、および/またはエッチング技術が用いられる。設計者は、ポリシリコン、シリコン酸化物、窒化ケイ素、および金属の複数の層を構成することにより、意図する用途と所望の電気的特徴とに応じた固有の構造を形成する。
【0004】
マスキング段階の間、チップ製造業者は、電子インパルスを半導体全体に伝えるように動作可能な微小な経路を綿密に描く。より具体的には、マスキング処理により、感光性のレジスト物質がウエハに塗布される。製造業者は、数千個もの個々の半導体回路の精細なマスクを表面上に位置させ、かつ、このウエハ上に光を投影する。マスキングされずに露出したままの表面部分は、この光により変化し、かつ化学洗浄により、新たなマスク層がウエハ上に現れる。この処理は、各所望の層に対して繰り返され、この結果、精巧な小型化された回路が得られる。
【0005】
このマスキング処理は、I.C. 設計ファイルにより駆動される。このファイル内のプログラム・コードは、生産装置が読み取るマスクのパラメータと仕様を記述し、かつ規定する。このようなファイルの従来の形式には、GDS (Graphic Design System)とCIF (Caltech Intermediate Format)とがある。設計ファイルの一部は、セルのシーケンスに関する記述を有している。セルは、別個の機能を行う予めプログラムされている論理的な単位と見なすことが出来る。例えば、個々のセルは、インバータ、キャパシタ、ゲート、発振器、および/またはマルチプレクサを有することが出来る。このように、これらの標準的なセルを、複数の半導体設計に取り込むことが出来る。設計技師は、これらの個々のセルをファイルレイアウトに取り込む際、他のセルと統合することにより、チップ層を形成する。
【0006】
親ライブラリは、バージョンまたは設計者の嗜好によりグループ化された他のセルと共に、個々のセルを格納する。こうすることにより、これらのライブラリは、設計者が素子のセルを検索しかつそれらを適用することが出来るテンプレートまたはパレットとして作用せることが出来る。したがって、ライブラリにより、特製の半導体のレイアウト内でセルを自動的に配置し、かつ配線するためにセルを利用することが可能となる。実際には、設計者は、ライブラリの最新バージョンから初期状態のセルを用いることにより、I.C. 設計ファイルを配置することが出来る。他の用途の場合、より旧式の特定ライブラリから専用のセルが必要となる場合がある。
【0007】
マスクされた層が一度適切に配置されると、製造業者は、ダイアモンド鋸を用いて、ウエハを数百個のチップに切断する。このチップは、次に、露出したコネクタを有するプラスチックまたはセラミックのシェルで包むことが出来る。完成品は、もう一度試験され、かつ「通電試験」つまり試験的な使用処理に課される場合がある。この最後の厳格な試験に合格したパッケージ化されたチップは、次に、回路基板と消費者製品とに取り付けられる。不良チップは廃棄され、これは、製造業者の損失となってしまう。
【0008】
上記の製造処理に固有の複雑さとコストのため、マスクの作成と塗布の前にエラーを検出することは、極めて有利である。しかしながら、典型的なI.C. 設計ファイルは、複数のエラー例により破損している可能性がある。例えば、欠陥があるセル、またはこれ以外には旧式のセルが、ファイル内に誤って取り込まれてしまっていたり、または保持されてしまっている可能性がある。これらのセルが発見されないままとなった場合、これらがもたらす不適切かつ断続的な処理は、生産に波及し、最終的に、資源を浪費することになってしまう。さらに、他の処理の場合、ライセンス料、許諾されていない変更および資源開発に関連するセルを含めて、該当する特定セルを識別する必要がある。
【0009】
しかしながら、チップ階層化を管轄する環境が高度に自動化されていることとは対照的に、レイアウトの設計者は、多くの場合、生産前のファイル評価を人手により行わなければならない。多大な労力と時間を要するこの処理においては、エラーと非効率性が必然的に発生してしまう。したがって、I.C. 設計ファイル内の潜在的に問題があるセル構造を、自動的かつ効率的に識別する方法が必要となる。
【発明の開示】
【課題を解決するための手段】
【0010】
本発明は、コンピュータに基づく技術を取り込むことにより、I.C. 設計コードを評価するための体系的な方法と、機器と、プログラム製品とを成功裡に提供することが出来た。一実施例の場合、セル記録のデータベースにアクセスすることにより、設計コード内に埋め込まれている未知のセルのセル特徴が決定される。このような各セル記録は、セルの特徴を少なくとも一つ有する既知のセルに関連付けることが出来る。セル特徴の例として、チェックサム値、幾何形状の属性、名前、時間スタンプ、またはこれらのある組み合わせを挙げることが出来る。こうして、セル記録は、これに関連付けられている既知のセルのセル特徴を有するセルを識別することが可能となる。一実施例の場合、さらに、未知のセルの特徴を、このデータベースのセル記録の少なくとも1つのサブセット内に格納されているセル特徴と比較することが出来る。この実施例は、次に、未知のセルの特徴にマッチングするセル特徴を有するセル記録に対して、識別子を出力する。
【0011】
本発明の上記と他の目的と利点は、添付の図面とその説明から明らかとなるであろう。
【発明を実施するための最良の形態】
【0012】
本願明細書に組み込まれ、かつ、この一部を構成する添付の図面は、本発明の実施例を例示し、かつ、上述した本発明の一般的な説明と以下に述べる実施例の詳細な説明と共に、本発明の原理を説明する役割を果たす。
【0013】
本発明の一実施例には、集積回路用の設計コードを評価するための機器と、プログラム製品と、コンピュータが実施する方法とを含めることが出来る。この実施例の場合、特定のセルまたはセル・グルーピングに対応するセル記録に対する要求を受信することが出来る。このセル記録は、さらに、1つ以上のセル特徴への関連付けが可能である。特徴の例として、セルの作成日または親ライブラリのようなセルの源に関するものが挙げられる。一実施例の場合、設計コードからセル特徴をサンプリングし、かつこれを、複数の識別子を格納するように構成されているデータベースに適用することが出来る。このデータベースは、さらに、これらの複数のセル記録に関連付けられている複数のセル特徴を保持することが出来る。この実施例の場合、最終的に、セルに関連付けられている識別子を、このデータベースから検索し、かつ出力することが可能となる。このような実施例の実行に適した環境は、図1と図2に例示されている。
【0014】
ハードウエア環境とソフトウエア環境
図面を参照されたい。幾つかの図の全体を通して、同様の数字は同様の部分を表している。図1は、本発明に整合した方法によりI.C. 設計ファイルを評価することに適したコンピュータ・システム10を示す。コンピュータ・システム10は、ネットワーク18を介して、サーバ16(例えば、PCに基づいたサーバ、ミニコンピュータ、中型コンピュータ、大型コンピュータなど)に結合された、1つ以上の設計者用コンピュータ12、14、20(例えば、デスクトップ・コンピュータまたはPCに基づくコンピュータ、ワークステーションなど)を含む、ネットワーク化されたコンピュータ・システムとして図示されている。ネットワーク18は、狭域ネットワーク、広域ネットワーク、無線ネットワーク、および公衆ネットワーク(例えば、インターネット)などの、ネットワーク化された相互接続を表している。さらに、ネットワーク18を介して、任意数のコンピュータと他のデバイス(例えば、複数のサーバ)をネットワーク化することが出来る。
【0015】
コンピュータ12、14と類似のユーザ用コンピュータ20には、とりわけ、中央演算装置(CPU)21、コンピュータ表示装置22のような幾つかの周辺の構成要素、格納デバイス23、プリンタ24、および様々な入力デバイス(例えば、マウス26とキーボード27)を含めることが出来る。サーバ・コンピュータ16は、これと同様な構成にすることが可能だが、この技術分野において周知のように、通常、より高い処理性能と格納容量とを有する。
【0016】
図2は、本発明の原理に整合した方法によりI.C. 設計ファイル内のセルを識別することに適した機器30のハードウエア環境とソフトウエア環境とを示す。この実施例の場合、機器30は、設計者用コンピュータ(例えば、図1のコンピュータ12、14、20と類似のもの)、サーバ・コンピュータ(例えば、図1のサーバ16と類似のもの)、携帯用コンピュータ、埋め込まれた制御装置などを含む、コンピュータ、コンピュータ・システム、または他のプログラム可能な電子デバイスを表す。以下、機器30も「コンピュータ」と呼ぶ。ただし、「機器」という用語には、本発明に整合した他の適切なプログラム可能な電子デバイスも含めることが出来ることを認識すべきである。
【0017】
コンピュータ30には、通常、メモリ32に結合された少なくとも1つのプロセッサ31が含まれる。プロセッサ31は、1つ以上のプロセッサ(例えば、マイクロプロセッサ)を表し、かつメモリ32は、コンピュータ30の主格納装置を構成するランダム・アクセス・メモリ(RAM)デバイスと、任意の補足的な水準のメモリ(例えば、キャッシュ・メモリ、不揮発性メモリまたは予備メモリ(例えば、プログラム可能なメモリまたはフラッシュ・メモリ)、読み出し専用メモリなど)を表す。メモリ32には、さらに、コンピュータ30内の他の場所に物理的に配備されたメモリ格納装置(例えば、プロセッサ31内の任意のキャッシュ・メモリ)、および仮想メモリとして用いられる任意の格納容量(例えば、セルのデータベース37内に格納されるもの、または、ネットワーク38を介してコンピュータ30に結合された別のコンピュータ上のもの)が含まれると見なすことが出来る。
【0018】
コンピュータ30は、外部に情報を通信するための幾つかの入力と出力とを受信することが出来る。コンピュータ30は、通常、レイアウトの設計者とのインタフェースのために、1つ以上の入力デバイス33(例えば、とりわけ、キーボード、マウス、トラックボール、ジョイスティック、タッチパッド、および/またはマイクロホン)と、表示装置34(例えば、とりわけ、CRTモニタ、液晶表示パネル、および/またはスピーカ)を含んでいる。しかしながら、コンピュータ30の幾つかの実施態様(例えば、サーバの幾つかの実施態様)の場合、コンピュータは、ユーザによる直接的な入出力を支援することが出来ないので、コンピュータとのインタフェースが、コンピュータ30とネットワーク化されているクライアント・コンピュータまたはワークステーションを介して実施される場合があることを認識すべきである。
【0019】
さらなる格納のため、コンピュータ30は、セル・データベース37および/またはセル・ライブラリとコンパイラ・データとを格納するように構成されている大型格納デバイス36を1つ以上含むことも出来る。デバイス36の例には、とりわけ、フロッピー(登録商標)または他の取り外し可能なディスク駆動装置、ハードディスク駆動装置、直接アクセス格納デバイス(DASD)、光学駆動装置(例えば、CD駆動装置、DVD駆動装置など)、および/またはテープ駆動装置が含まれる。コンピュータ30は、さらに、1つ以上のネットワーク38(例えば、とりわけ、LAN、WAN、無線ネットワーク、および/またはインターネット)とのインタフェースを含むことにより、このネットワークに結合されている他のコンピュータへの情報通信が可能となる。コンピュータ30には、通常、プロセッサ31と、構成要素32、33、34、36、38の各々との間の適切なアナログ・インタフェース、および/またはデジタル・インタフェースが含まれることを認識すべきである。
【0020】
コンピュータ30は、オペレーティング・システム40の制御下で動作し、かつ、様々なコンピュータ・ソフトウエア・アプリケーション、構成要素、プログラム、オブジェクト、モジュールなど(例えば、とりわけ、セル評価プログラム50、チェックサム・プログラム42、ライブラリ報告生成装置43、幾何形状に基づく比較プログラム45)を実行する。さらに、例えば、分散型またはクライアント/サーバ型のコンピューティング環境の場合、様々なアプリケーション、構成要素、プログラム、オブジェクト、モジュールなどを、ネットワーク38を介してコンピュータ30に結合されている別のコンピュータ内の1つ以上のプロセッサ上で実行させることも可能である。これにより、コンピュータ・プログラムの機能を実施するために必要な処理を、ネットワーク上の複数のコンピュータに割り当てることが出来る。
【0021】
本発明の実施例を実施するために実行される定型作業は、オペレーティング・システムまたは特定のアプリケーション、構成要素、プログラム、オブジェクト、モジュールまたは命令のシーケンスの一部として実施されるか否かに関わらず、本願明細書では、一般的に、「コンピュータ・プログラム」または「プログラム・コード」と呼ぶ。コンピュータ・プログラムは、通常、様々なコンピュータ・メモリ内と格納デバイス内とに様々な時刻に常駐する命令を1つ以上有する。プロセッサが、プログラムを読み取りかつ実行すると、このプログラムは、本発明の様々な態様を具体化するステップまたは要素を、コンピュータに実行させる。
【0022】
さらに、本発明の上述したおよび以下に述べる説明は、プロセッサとコンピュータ・システムとが完全に機能する環境を前提としているが、本発明の様々な実施例が、様々な形式のプログラム製品として配布可能であり、かつ本発明が、この配布を実際に実行するために用いられる特定タイプの信号伝達媒体とは関わりなく等しく適用されることを、当業者は認識するであろう。信号伝達媒体の例には、とりわけ、揮発性と不揮発性のメモリデバイス、フロッピー(登録商標)ディスクと他の取り外し可能なディスク、ハードディスク駆動装置(例えば、CD-ROM、DVDなど)のような記録可能なタイプの媒体と、デジタルとアナログの通信リンクのような伝送タイプの媒体とが含まれる。
【0023】
なお、以下に説明する様々なプログラムは、これらを本発明の特定の実施例で実施する目的である用途に基づいて識別可能である。しかしながら、以下のどの特定のプログラムの名称も、単に利便性のために用いられているのであり、かつしたがって、このような名称により識別および/または暗示される、いかなる特定の用途での使用のみに本発明を限定すべきでないことを、認識すべきである。
【0024】
図1と図2に示す例示的な環境は、本発明を限定することを意図していないことを、当業者は認識するであろう。当業者は、他の代替のハードウエア環境および/またはソフトウエア環境を、本発明の範囲内で用いることが出来ることを強く認識するであろう。
【0025】
I.C. 設計ファイルの評価
図3のフローチャートは、最初の2つの図のハードウエア環境とソフトウエア環境でI.C. 設計ファイルを評価するための例示的な実施例を示す。より具体的には、図示されている処理ステップでは、セルのある特徴を用いることにより、セル記録の割り当と識別とが行われる。一実施例の目的の場合、セル記録には、セル識別子と、少なくとも1つのこのようなセル特徴を含めることが出来る。このフローチャートに具体化されている、コンピュータが実施する方法は、識別子を格納しかつ呼び出すように構成されているデータベース内で、セルに関する特徴と共に、識別子をカタログ化する。このような特徴は、セルの作成日または親ライブラリのような、セルの源に関連するものとすることが出来る。一実施例の場合、最終的に、識別子または特徴が、設計ファイルに埋め込まれているセルに関連付けられる。
【0026】
図3のブロック60では、図1のコンピュータ・システム30のようなプロセッサに、I.C. 設計ファイルが到達する。この実施例では、このファイルは特定の製造法を有していなくても良い場合がある。しかしながら、形式の例には、従来、一連の記録をコード化する2進ビットのストリームを有していたCIFまたはGDSを挙げることが出来る。これらの記録の一部は、論理的な単位つまりセルの記述に関連付けることが出来る。これらのセルは、設計者が半導体の層を作成するために集積化することが出来る、標準的な電子的な素子である。設計ファイル内の他の構造体は、セル記述に加えて、命令または複雑な規則に関するヘッダ情報を有することが出来る。このようなヘッダ・データは、様々なプログラマが、部門目的または表記目的のために設計工程全体を通して含めることが出来る。
【0027】
ブロック62で、この実施例は、ファイルに含まれている全記録を連続的にサンプリングすることが出来る。例えば、構文解析プログラムは、このファイルからの予め設定された数の連続ビットを、プロセッサのレジスタに中継することが出来る。このビットの連続は、記録をコード化したもので、次に、所定の用途に対して適切に処理され、かつ分類される。例えば、一実施例を、セルに関連する特徴命令または処理命令に関するファイル記録にしか関連しないようにさせることが出来る。このように、この適用例には重要でないヘッダ記録からセル記録を区別することが有利な場合がある。この実施例では、処理関連の事項を考慮して、余分なヘッダ記録を無視し、この代わりにセル構造を記述しているか、またはセル構造に寄与する記録のみに重点を置くことが出来る。
【0028】
この結果、ブロック64で、この実施例は、サンプリングされた記録がセルをコード化したものか否かを確認することが出来る。この実施例のプログラム・コードは、登録されたビットの、大きさ、配置、および/またはシーケンスを評価することにより、この記録の性質を決定することが出来る。製造コードにプログラムされているタグとその他の指標は、さらに、セル記録と他のヘッダ・データとを区別するための手段となることが出来る。プログラムは、ブロック62におけるファイル記録の連続的なサンプリングを、ブロック64でセル構造体が示されるまで継続することが出来る。
【0029】
ブロック64で、記録が実際にセルであることがこの実施例により検出された場合、ブロック66で、セルの特徴を評価することが出来る。本発明の目的の場合、適切なセル特徴は、セルまたはセル機能を記しているか、または予測が可能になるように記述している属性を具体化したものなら何でも良い。この実施例の場合、1つのこのような特徴に評価を与え、かつ依存することにより、ファイル内のセルを一方的に識別および/または分類することが可能となる。例えば、セルの作成日は、他との区別性を有する特徴として識別することが出来る。
【0030】
これに代えて、またはこれに加えて、幾つかの適用例の場合、複数のセル特徴を評価する必要がある場合がある。このような適用例は、ファイル内の幾つかのセルが、共通の特徴を1つ以上共有している場合、適切となることがある。このように、属性を識別するには十分な固有の属性編集体を、広範な特徴から形成することが出来る。別の適用例の範囲は、検出されたセル特徴により決定することが出来る。このように、この実施例の場合、セルを十分に選別するように構成されている、階層型シーケンスによる連続的な評価法を適用することが出来る。例えば、コンパイラがセルを作成したことを第一特徴が示した場合、この実施例は、さらに作成日を記録することにより、作成元である特定のコンパイラを決定する際の助力とすることが出来る。
【0031】
評価処理に重点を置くことにより、さらに、この実施例が依存するセル特徴のタイプを決定することが出来る。例えば、プログラム・コードが特定のセルを一意に識別することが、1つの適用例で必要となる場合がある。より具体的には、設計ファイルに組み込まれている不完全なセル、または著作権で保護されているセルの検出を、設計者が必要とする場合がある。このように、特定のセルに固有な特徴または特徴の集合をファイル内の各セルにて適用し、かつこれと比較して評価することが出来る。
【0032】
別の適用例の場合、全等級のセルを識別する必要がある場合がある。ライブラリ全体が不適当であると考えられる場合、設計者は、このような評価を開始することが出来る。このような状況の場合、不適切な親ライブラリから取り出された、これらの全てのセルに固有な特徴は、評価性を有する特徴として利用可能である。この実施例のプログラム・コードが、適用可能な場合、異なる評価要件と処理要件とにより決定された複数のセル特徴を利用することが出来る。
【0033】
このような特徴の1つとして、一意の数値または署名を挙げることが出来る。好ましい実施例の場合、このような数学的な指紋に到達するためのチェックサム・アルゴリズムを用いることが出来る。例えば、この実施例の場合、セルの16個のビットを加算器に伝送することが出来る。この加算器は、これらのビットを合計することにより、このセルに固有な数に達することが出来る。別の実施例の場合、重要度の最も低いビットをレジスタから省略し、かつ次いで、次に生じるビットを、セルの数を集積した値に加算することにより、セル文字列全体を評価することが可能となる。数学的操作を変化させ、かつより洗練させることにより、より機能的な適用例と署名とを作ることが出来る。例えば、別の実施例の場合、セルの最も重要なビットのサンプリング値と、最も重要でないビットのサンプリング値とを合計または乗算することが出来る。後で詳述するように、このようなチェックサムの適用が、既に識別されているセルの完全性を確認することにも有効となることを判明させることも可能である。
【0034】
別の実施例を、漸進的な設計段階の間にセル記録上に帰属させられた記述データに幾分依存させることが出来る。このようなデータは、現実には純粋に記述的なもので、設計者または会社に関する表記を含むことが出来る。他のデータを、日付/時刻スタンプのような、自動登録または他の処理を反映させることが出来る。GDSを含む、幾つかのI.C. 製造形式には、セルの作成日または修正日を反映したような時間スタンプが組み込まれている。この実施例の場合、ブロック66で、時間スタンプ情報をブロック・ファイルから除去することにより、この表記上の特徴を利用することが可能となる。下述するように、このような時間スタンプにより、固有のセル識別子を確定するための現実的な手段を呈示することが出来る。
【0035】
時間スタンプの利用の範囲と限界は、特定のスタンピング処理の信頼性と完全性とに幾分依存する。例えば、特定のファイル内の時間スタンプが、一貫して割り当てられかつ維持されてきたことが確実な場合、この時間スタンプは、この実施例の識別方式の範囲内で、ある役割を果たすことが出来る。プログラム・コードは、このような時間スタンプを、セルが生じたコンパイラまたはライブラリのような他の特徴を決定する手段として、利用することが出来る。しかしながら、ファイル内における修正と不一致とにより、他の適用例における時間スタンプの有用性が、著しく低減してしまう場合がある。
【0036】
同様に、ファイル内のセル構造には、ファイル設計者が作ったセルの「名前」を含めることが出来る。このような名前は、設計処理の1ステップの間にセルに有効に関連付けられた可能性があるが、このような名前に識別手段として依存することは、名前の扱いが一貫しておらずかつ恣意的であるため、実用的ではない場合がある。より具体的には、プログラミングの繰り返しにより、有意味かつ信頼性の高いセルとの関連付けが、どれも非常に希薄になってしまっている可能性がある。例えば、設計者は、単一のプログラミング処理全体を通じて、このような名前を廃棄または繰り返し修正する場合、セルとの関連付けを定型的に解除する。設計者は、設計目的または単なる嗜好のために、名前を修正することが出来る。この結果、このような名前は、本発明の実施例との互換性は有しているかも知れないが、確実に識別可能な単一の特徴としてセルを機能させるには、一般的に不十分である。
【0037】
他の適用例の場合、セルの形状または金属の内容のような、幾何形状に基づいた特徴のサンプリングと評価とを行うことが出来る。このような例示的な特徴は、幾つかのセルを区別かつ識別する現実的な手段として機能することが出来るが、多くのファイル適用例の場合、幾何形状と測定とを用いたプログラムに伴う大規模なメモリと処理要件とにより、非実用的または非効率的であることが判明する可能性がある。しかしながら、幾何形状の特徴を部分的にサンプリングした場合、または完全にサンプリングした場合でさえ、この実施例に整合した他の処理を行おうとする際に、非実用性または非効率性の防止が不可能であることが判明する場合がある。プログラム・コードは、例えば、幾何形状の特徴と導出されたデータとを、市販の比較プログラムを用いて比較するように構成されているデータベースを維持することが出来る。
【0038】
さらに、幾何形状による適用例は、評価周期の第二水準または第三水準に限定させることも出来る。すなわち、プログラム・コードは、幾何形状による適用例を、セルの閾値特徴が既に登録されている場合のみに制限させることが出来る。例えば、特定のロゴ構造を含んでいるセルを検出しようとする場合、この実施例では、最初に示された時間スタンプとチェックサム値にマッチングしたセルにのみ、幾何形状の比較を確保することが出来る。
【0039】
サンプリングされた特徴は、最終的には、セルまたはセルの集まりを識別する手段として機能させることが出来る。セルを識別する場合、これらの特徴を、複数の記録されている特徴と比較し、かつこれらに関連付けることが必要となることがある。この実施例の場合、記録されている特徴をセルのデータベース内に格納することが出来る。このデータベースは、さらに、これらの記録されているセル特徴の1つ以上に一意に対応する複数のセル識別子を維持することが出来る。こうして、この識別子は、特定の特徴または特徴の組を有するセルまたはセル・グルーピングを一意に示す手段として作用することが可能になる。図3のブロック68で、この実施例では、サンプリングされたセル特徴を、このようなセルのデータベース内に維持されている複数の特徴と比較して評価することが出来る。
【0040】
図4は、図3のブロック66でサンプリングされた特徴を維持するように構成されているデータベースを示す。図4では、例示的なセル特徴の列82は、マッピングされたデータベース37内のフィールドを占める。評価の間、図4の適切な探索アルゴリズム86は、サンプリングされたセル特徴88に関連付けられているデータベース・フィールド92のマッチングを行うことが出来る。アルゴリズム86は、その後、識別子フィールド90の列から、特徴フィールド92に関連する識別子94を検索することが出来る。本願明細書で説明されているように、識別子は、セルと1対1に対応することが出来、かつ、共通の特徴または特徴の集まりを共有する一群のセルにも対応することが出来る。例えば、特定の適用例の場合、共通の時間スタンプ96を有する全てのセルを、単一の識別子98に関連付けるよう、探索アルゴリズム86に指示させることが出来る。注意すべき点は、一実施例においては、識別子フィールドを1つ以上のセル特徴と論理的に組み合わせることにより、セル記録を構成することが可能となることである。
【0041】
逆に言えば、図4の幾つかの識別子90は、選択された特徴82とデータベースの共通の関連性を共有することが可能である。この結果、この実施例の場合、アルゴリズム86を複数の特徴フィールド82にアクセスさせることにより、このような識別子間の相違を区別させることが可能となる。図3に戻ると、セル特徴が共通している場合、ブロック66でさらなる特徴をセルからサンプリングするように、この実施例のプログラムに指示させることが出来る。データベースは、これらのさらなる特徴を第一の特徴と共に評価することにより、適用可能な識別子をより正確に決定することが出来る。この場合も、識別子は、セル特徴に対して一意性を有することが出来るにも関わらず、複数のセルと関連してしまう場合がある。このようなことは、この特徴が、元の共通ライブラリを記述している場合に発生する。
【0042】
図4のデータベースを再度参照されたい。特定の特徴フィールドを評価すると、さらなるフィールドの探索を自動的に促すことが出来る。例えば、図4の汎用のコンパイラ・フィールド98を検索すると、プログラム・コードが、時間スタンプ96と生産カレンダ100の情報との検索を開始するように指示することにより、セルを作成したコンパイラをより特定的に決定することが出来る。
【0043】
この実施例の場合、データベースの識別子フィールドを多様に配置することが出来る。例えば、データベースの配置の仕方は、セル特徴の源に依存することが出来る。例えば、ライブラリから導出されたデータへのアクセスに必要な処理は、コンパイラと他のソースから比較可能なデータを検索するために必要な処理とは、かなり変わったものにすることが出来る。より具体的には、ライブラリから導出されたセルから特徴を記録する場合、この実施例の場合、遠隔ライブラリの設計実体から生成されたファイルまたは報告を受信することが出来る。これらのファイルには、葉セルまたは子セルに予め割り当てられている互換性がある識別子を含めることが出来る。他のライブラリ報告は、この実施例のプログラムが識別子の割り当てのために、さらに処理することが出来るセル特徴しか具体化することが出来ない。
【0044】
プログラム・コードにより、このようなライブラリ報告の自動生成と、識別性を有する情報と特徴との抽出とを開始させることが出来る。このように、この実施例は、ライブラリ資源を含んでいる他のデータベースから、識別子と関連データとを走査し、かつ検索することが出来る。プログラム・コードは、このライブラリ・データを、呈示されたセル構造の識別に用いられるデータベースに組み込むことが出来る。さらに詳しく後述するように、サンプリングされた設計ファイル内に運ばれるセル特徴が、この実施例によって処理される際、識別子は、データベース内への割り当てと蓄積とをさらに行うことが出来る。いずれにしても、この実施例のプログラム・コードにより、このデータベースを、カタログ化されているライブラリ・セルと、関連付けられている識別子と共に配置させることが可能となる。
【0045】
ファイル内の相対的に少数のライブラリ・セルは、徹底的な評価に役立たせることが出来るが、コンパイラが作ったセルは、固有の懸念事項を表わすことが出来る。コンパイラは、通常、設計者が提示した仕様に応じて、二重出力RAMのようなメモリセルを大量生産する。例えば、設計者は、各々が27個のビットを含む512個のメモリ箇所を有するセルを自動的に設計するように、コンパイラに指令することが出来る。このコンパイラは、これに適合した多数のセルを作り、設計者は、自分で作成したレイアウトにこれを組み込むことが出来る。
【0046】
コンパイラから生じたこのようなセルは、数が多く多様性に富んでいるため、単一の汎用のデータベース内へ実際のセルを格納することが、複雑化してしまう可能性がある。このようなデータベースには、本発明の原理との互換性があるが、この互換性がなくても、一実施例の範囲内におけるセル識別が不可能になることはない。この実施例のプログラムの場合、httpのチャネル伝送を用いるような、コンパイラ設計者が予め構成した方式により、コンパイラ・セル用の署名を検索することが出来る。こうして、このコンパイラが作った特定のセルしか、データベースへのダウンロードを行うことが出来なくなる。
【0047】
別の実施例の場合、コンパイラのセル出力に伴う署名ファイルを並行して作ることを開始することが出来る。この実施例の場合、署名ファイルの内容の定型的な抽出と処理とが可能となるように、署名ファイルの構成と記録とを行うことが出来る。こうすることにより、この実施例が、コンパイラ署名ファイルの関連部分のみを設計データベースにインポートすることが可能となる。こうして、署名の評価を、上述した直接的な比較により行うことが可能となる。別の実施例の場合、適切な識別子が、I.C. 設計ファイルの一部に作られかつ配置されるように、コンパイラを構成することが出来る。こうして、この実施例のプロセッサは、データベース内で記録を行うための識別子を抽出することが出来る。さらに、この実施例の場合、ブロック76で設計ファイルが処理される際、データベース内におけるセルの発生を能動的にコンパイルすることが出来る。
【0048】
図3のブロック70で、評価されたセルのセル特徴が識別子にマッチングした場合、この実施例のプログラムは、ブロック72で識別子をさらに評価することが出来る。すなわち、プログラム・コードは、このセルの識別子を、指定された識別子の識別子と比較することが出来る。このような識別子は、設計者または制御処理が、特定のセルまたはセル・グルーピングを探し出すために、指定することが出来る。例えば、設計者は、特定の不良セルが設計レイアウトに含まれていないことを確認したいと望む場合がある。設計者は、この不良セルに対応する識別子を、入力するまたは別の方法で指定することが出来る。
【0049】
図3のブロック72で、実施例のプログラム・コードは、ファイルに含まれているセルの識別子を、この指定された識別子と比較することが出来る。マッチングが検出された場合、ブロック74で、この実施例は設計者に通知を出力することが出来る。設計者は、識別されたこの不良セルを、適切なセルに取り替えることにより、生産コストをかなり節約することが可能となる。これと同様に、ライセンス料または許諾されていない修正に関連するセルに対応する識別子を、自動化された処理によって指定することが出来る。
【0050】
さらに、自動処理により、特定のライブラリまたはコンパイラから生じたセル用の設計ファイルを選別することも出来る。このような適用例は、セルが適切なライブラリから検索されていることを確認する場合に有効となることがある。例えば、大半のセルは、ライブラリの最新バージョンに初期設定することが出来るが、著作権で保護されているセルは、保管されているライブラリを必要とする可能性がある。この実施例の場合、設計者が適切なライブラリ関係を確認することが出来るように、セルの識別子を出力することが出来る。この実施例では、設計ファイルの商業的かつ機能的な側面をこのように評価することにより、不適切なセルが生産前に発生してしまうことを減らすことが出来る。
【0051】
図3のブロック72では、設計者はこれに代えて、ある特徴を指定することが出来る。例えば、ファイル内のどのセルが、特定のコンパイラから生じたのかを示す一覧を、設計者が求める場合がある。別の自動化された処理の場合、特定のライブラリまたは時間スタンプに関連付けられているセルのための全ての設計ファイルを探索することが出来る。上述したように、この実施例によりセルのデータベースを探索することが可能となり、こうして初めて、プログラム・コードは、データベースのセル特徴フィールドを探索することが可能となる。ブロック74で、この実施例は、探し出された特徴フィールドと関連する識別子を出力することが出来る。こうして、この実施例では、設計者は、識別子とセル特徴という両方の観点から設計ファイルの評価を開始することが可能となる。
【0052】
この実施例では、ブロック70で未確認のセルが示された場合、このセルの特徴をデータベース内に記録するように構成されている処理を、プログラム・コードによって開始することが出来る。図3のブロック76で、このプログラムは、さらに、このセルに対する識別子の割り当てとカタログ化とを行うことが出来る。この実施例の場合、任意の一般的な方式に従って、識別子を製造しかつ割り当てることが出来るが、識別子は、セル特徴に直接対応することが出来る。例えば、プログラム・コードは、ブロック66でサンプリングされたチェックサム値を、セルの識別子として指定することが出来る。注意すべき点は、セルから導出された全てのセル特徴フィールドは、さらに、新たに作成されかつカタログ化されたセル識別子への関連付けが可能なことである。こうして、この実施例は、ファイル内に呈示されているセルに識別子を割り当てかつ記録することにより、セル特徴に関するそれ独自の記録を受動的に蓄積することが出来る。
【0053】
上述したように、図3のブロック66でサンプリングされたセル特徴をブロック78で記録することが、既に可能となっている。これらの特徴は、ブロック78でセルから抽出されるさらなる属性と共に、データベース内のフィールドに配置することが出来る。これらのさらなる特徴により、ブロック66で探索された特徴の重要度は低減し、代わりに他のセルの属性の重要度が増加する。データベース内に追加されたこれらのセル特徴のサンプリングと格納とが、プログラム・プロトコルにより開始されるため、将来の探索を予期することが可能となる。上述したように、特定の特徴フィールドへの入力が行われると、このセルに関する更なるフィールドの配置と自動的な関連付けとがプログラム・コードにより行われるように、データベースを構成することが出来る。例えば、このフィールドを対応する識別子と潜在的なライブラリ一覧とに関連付けるようにプログラムに促すことを、時間スタンプのようなセル特徴により行うことが出来る。
【0054】
一実施例の場合、潜在的に破損しているか、またはこの他にエラーが含まれているセルを設計者に通知することを目的としたさらなるステップを、図3のブロック78の後に組み込むことが出来る。例えば、このようなステップは、大半のファイルのセルがセルのデータベース内で明らかとなることを設計者が予期する適用例の場合、有効となり得る。このように、この実施例では、未確認のセルの検出と同時に、設計者に警告を出力することが可能となる。より具体的には、未知のチェックサムに遭遇する度に、プログラム・コードは通知を開始することが出来る。
【0055】
同様に、設計者は、エラーの発生をさらに減らすために、大域的なチェックサム動作を開始させることが出来る。このようなステップは、エラー検出方式としての従来のチェックサムの使用法を具体化したもので良い。このように、このチェックサム・アルゴリズムをセルに適用することにより、セル内に添付された数値を確認することが出来る。不一致が検出された場合、通知を行うことにより、設計者は、新たなチェックサムに対応するセルにエラーがないことを確認することが出来る。
【0056】
図5は、図2と図4のデータベース37を、図3の処理ステップの実行に適した概略的なブロック図に、組み込んだものである。データベース37は、通常、I.C. 設計ファイル104を評価するように構成されているプログラム・コード102によりアクセスされる。レイアウト設計者106、107、108がファイル104にアクセスした後で、このファイルは、「テープアウト」により生産110への伝送を行うことが出来る。設計者106、107、108は、様々なコンパイラ112、114とライブラリ116、118、120からインポートしたセルから、ファイル104を構成することが出来る。
【0057】
I.C. 設計ファイル104は、セル記述をコード化するために、CIFまたはGDSによる製造法を利用することが出来る。より具体的には、ファイル104は、生産装置110が読み出すマスク・パラメータを記述し、かつ規定する。設計者106、107、108は、ライブラリ116、118、120とコンパイラ112、114とにアクセスして、インバータ、キャパシタ、ゲート、発振器、マルチプレクサ、および/または他のセルを組み込むことにより、チップ層を構成することが出来る。親ライブラリ116、118、120は、バージョンまたは設計者の嗜好によりグループ化された他のセルと共に、個々のセルを格納することが出来る。設計者106、107、108は、ライブラリの最新バージョン120から、初期設定のセルを用いることにより、図1と図2で考察されている任意のネットワーク化された通信手段を介して、I.C. 設計ファイル104を配置させる。他の適用例の場合、より旧式な特定ライブラリ118から専用のセルが必要となる場合がある。
【0058】
設計処理に固有の複雑な力関係のために、単一のI.C. 設計ファイルに、複数のエラー例が含まれてしまう可能性がある。例えば、不完全な、またはこれ以外には時代遅れのセルが、設計ファイル104内に誤って組み込まれてしまったり、または保持されてしまう可能性がある。含まれている別のセルは、修正を行う権限のない設計者107が、別の用途に合うように修正してしまった可能性がある。これらのエラーが発見されないままになることにより、生産110が損なわれてしまい、資源を浪費してしまう可能性がある。
【0059】
本発明の一実施例の場合、これらのエラーと他のエラーとの発生が、評価処理の間に抑制される。プロセッサ30は、セル構造が検出されるまで、ファイル104に含まれている全ての記録を連続的にサンプリングすることが出来る。プログラム・コード102は、次に、この記録のセル特徴を評価することが出来る。時間スタンプとチェックサム値のような特徴を詳述してきたが、適切なセル特徴は、セルまたはセル機能を記しているか、または予測が可能となるように記述している属性を具体化したものなら何でも良い。プログラム・コード102は、このような特徴の1つ以上を評価し、かつこれに依存することにより、ファイル内のセルをモニタすることが出来る。
【0060】
評価手順の目標により、関連する特徴を決定することが出来る。例えば、必須の商標を含んでいるセルをプログラム・コード102に識別させることが、1つの適用例で必要となる可能性がある。このように、この特定のセルに固有の特徴または特徴の組を、ファイル104内の各セルに適用し、かつこれと比較して評価することが可能となる。別の適用例の場合、全種別のセルを識別するように求めることが出来る。設計者は、ライブラリ116全体が疑わしい場合、このような評価を開始することが出来る。このように、この不良な親ライブラリ116から検索された全てのセルに固有の特徴を用いて、識別が行われる。プログラム・コード102は、異なる評価要件と処理要件とにより決定される複数のセル特徴をサンプリングすることが出来る。
【0061】
プログラム・コード102は、サンプリングされたセル特徴を、セルのデータベース37内で維持されている複数のセル特徴と比較することが、最終的に可能となる。このような特徴の1つとして、数値による署名またはチェックサム値を挙げることが出来る。別の実施例の場合、時間スタンプに依存させることが出来る。他の適用例の場合、セルの形状または金属の内容などの、幾何形状に基づいた特徴をサンプリングし、かつ評価することが可能である。何れにしても、これらのサンプリングされた特徴は、最終的に、セルまたはセルの集まりを識別する手段として機能させることが出来る。
【0062】
注意すべき点は、セルを識別するために、これらの特徴を複数の記録されている特徴と比較し、かつこれらに関連付ける必要がある場合があることである。プロセッサ30は、セルのデータベース37内の記録されている特徴を格納することが出来る。データベース37は、さらに、これらの記録されているセル特徴の1つ以上に一意に対応する複数の識別子を維持することが出来る。このようにして、識別子は、特定の特徴または特徴の組を有するセルまたはセル・グルーピングを一意に示す手段として機能することが出来る。
【0063】
プログラム・コード102は、ライブラリ120またはコンパイラ112から生成されたファイルまたは報告を受信することにより、データベース37のフィールドを配置することが出来る。これらのライブラリ報告は、プログラム・コード102が識別子に到達するために処理可能なセル特徴を詳細に記すことが出来る。プログラム・コード102は、このような報告の自動生成と、識別性を有する情報と特徴との抽出とを開始することが出来る。このように、この実施例は、ライブラリ資源、および/またはコンパイラ資源を含んでいる他のデータベースから、識別子と関連データとを走査し、かつ検索することが出来る。
【0064】
プログラム・コード102は、探し出されたセルの特徴を識別子にマッチングさせることが出来る。この識別子は、次に、特定のセルまたはセル・グルーピングを探し出さすために設計者108が指定した識別子と比較して評価することが出来る。例えば、設計者108は、設計レイアウトに含まれている専用のセルならどれでも探し出したいと望む場合がある。識別子のマッチングが検出された場合、プログラム・コード102は、設計者108に通知を出力することが出来る。このように、設計者108は、シリコンの設計に取り掛かる前に、この専用のセルの用途を調査することが出来る。注意すべき点は、プログラム・コード102によって、設計者108が、識別子またはセル特徴の何れかの観点から設計ファイル104の評価を指示することが可能となることである。
【0065】
プログラム・コード102は、さらに、特定のライブラリまたはコンパイラから生じたセルに対して、設計ファイル104を選別することが出来る。このような適用例は、セルが適切なライブラリから検索されたことを確認する際に有効とさせることが出来る。例えば、大半のセルは、ライブラリの最新バージョン120に初期設定することが出来るが、特定のセルが、不適切または旧式のライブラリ116を誤って指し示してしまう場合がある。親ライブラリ116から生じたファイルのセルを検出することにより、設計者108はより適切なセルに交換することが出来るので、不完全なセルが生産前に発生してしまうことが減る。プロセッサ30に示された未確認のセルのセル特徴は、データベース37内に記録することが出来る。プログラム・コードは、さらに、このセルに対する識別子の割り当てと、記録とを行うことが出来る。このようなデータは、将来の評価セッションの間に利用することが出来る。
【0066】
本発明を様々な実施例の説明により示し、かつ、これらの実施例をかなり詳細に説明してきたが、添付する特許請求の範囲の範囲を、このような詳細事項に制限、またはいかなる形態により制限することが、本願明細書の目的ではない。さらなる利点と修正点は、当業者には容易に明らかとなるであろう。したがって、本発明の、そのより広い態様は、図示しかつ説明した、具体的な詳細事項と、代表的な機器と方法と、実例とに限定されない。したがって、本出願人の一般的な発明概念の趣旨または範囲から逸脱しない範囲で、このような詳細事項から逸脱することは、可能である。
【図面の簡単な説明】
【0067】
【図1】本発明に整合したネットワーク化されたコンピュータ・システムのブロック図である。
【図2】図1のネットワーク化されたコンピュータ・システムによるコンピュータのためのハードウエアとソフトウエアの例示的な環境のブロック図である。
【図3】図1と図2の環境内で、I.C.設計ファイルを評価する一方法を具体化したフローチャートである。
【図4】図1〜3に図示されかつ適用されるデータベースの論理的な構造体を示す。
【図5】図3の処理ステップを本発明の原理と整合した方法で実行することに適切な、I.C.設計ファイルの評価セッションと環境とを示したブロック線図である。
【符号の説明】
【0068】
10…ファイル
12…コンピュータ
14…コンピュータ
16…サーバ・コンピュータ
18…ネットワーク
20…コンピュータ
21…中央演算装置
22…コンピュータ表示装置
23…格納デバイス
24…プリンタ
27…キーボード
30…機器
31…プロセッサ
32…メモリ
33…入力デバイス
34…表示装置
36…大型格納デバイス
37…データベース
38…ネットワーク
40…オペレーティング・システム
42…チェックサム・プログラム
43…ライブラリ報告生成装置
45…比較プログラム
50…プログラム・コード
60…プロセッサに、I.C. 設計ファイルが到達する。
62…ファイルに含まれている全記録を連続的にサンプリングする
64…サンプリングされた記録がセルをコード化したものか否かを確認する
66…セルの特徴を評価する
68…サンプリングされたセル特徴を、セルのデータベース内に維持されている複数の特徴と比較して評価する
70…評価されたセルのセル特徴を識別子にマッチングするブロック
72…識別子をさらに評価するブロック
74…設計者に通知を出力するブロック
76…このセルに対する識別子の割り当てとカタログ化とを行うブロック
78…サンプリングされたセル特徴を記録するブロック
82…セル特徴のグルーピング
86…探索アルゴリズム
88…サンプリングされたセル特徴
90…識別子フィールド
92…特徴フィールド
94…関連する識別子
96…時間スタンプ
98…単一の識別子
102…プログラム・コード
104…ファイル
106…設計者
107…設計者
108…設計者
110…生産装置
112…コンパイラ
114…コンパイラ
116…ライブラリ
118…ライブラリ
120…ライブラリ
Claims (12)
- 集積回路用の設計コードを評価するための、コンピュータが実施する方法であって、
前記設計コード内で規定されている、未知のセルのセル特徴を決定することと、
セル記録のデータベースにアクセスすることにより、前記未知のセルの識別を試みることと、
を有し、
各セル記録が、少なくとも一つのセル特徴を有する既知のセルに関連付けられ、
各セル記録が、それに関連付けられている既知のセルの前記セル特徴を識別し、かつ、
前記データベースへのアクセスが、前記未知のセルの前記セル特徴を、前記データベース内の前記セル記録の少なくとも一つのサブセット内に格納されている前記セル特徴と比較することを含む、
コンピュータが実施する方法。 - 前記未知のセルの特徴にマッチングするセル特徴を有するセル記録に対する識別子を出力することをさらに有する、請求項1に記載の方法。
- 前記セル記録を決定することが、前記未知のセルの前記セル特徴を識別する要求を処理することを含む、請求項1に記載の方法。
- 前記セル特徴が、チェックサム値と、幾何形状の属性と、名前と、時間スタンプと、これらの組み合せとから構成されるグループの中から選択される、請求項1に記載の方法。
- 前記未知のセルが識別されない場合、前記データベース内に新たなセル記録を作成することをさらに有する、請求項1に記載の方法。
- メモリと、
前記メモリ内に常駐する、セル記録のデータベースであって、
各セル記録が、集積回路用の設計コード内での使用に適切でかつセル特徴を少なくとも一つ有する既知のセルに関連付けられており、かつ、
各セル記録が、それに関連付けられている既知のセルの前記セル特徴を識別する、データベースと、
前記データベースにアクセスし、かつ前記未知のセルのセル特徴を、前記データベース内の前記セル記録の少なくとも一つのサブセット内に格納されている前記セル特徴に比較することにより、集積回路の設計コード内に規定されている未知のセルの識別を試みるように構成されているプログラム・コードと、
を有する機器。 - 前記セル特徴が、チェックサム値と、幾何形状の属性と、名前と、時間スタンプと、これらの組み合せとから構成されているグループの中から選択される、請求項6に記載の装置。
- 前記未知のセルが未知の場合、プログラム・コードが、前記データベース内における新たなセル記録の前記作成を開始する、請求項6に記載の機器。
- データベースを配置する方法であって、
複数のセルを規定する設計コードを有するファイルを走査し、
前記ファイル内に規定されている前記複数のセルの未知のセルのための、少なくとも一つの識別子とセル特徴とを含むセルレコードを、前記データベース内に作成し、
前記データベースの第一フィールド内に前記セル特徴を記録し、
前記データベースの第二フィールド内に前記セル識別子を格納し、
前記第一フィールドと前記第二フィールドとが論理的に関連付けられている、
データベースを配置する方法。 - データベースにアクセスし、かつ前記未知のセルのセル特徴を、前記データベース内で維持されている複数のセル記録の少なくとも一つのサブセット内に格納されている複数のセル特徴と比較することにより、集積回路の設計コード内に規定されている未知のセルを識別するように構成されているプログラムであって、
各セル記録が、集積回路のための設計コード内での使用に適切でかつセル特徴を少なくとも一つ有する既知のセルに関連付けられ、かつ、
各セル記録が、それに関連付けられている既知のセルの前記セル特徴を識別する、プログラムと、
前記プログラムを伝達する信号伝達媒体と、
を有するプログラム製品。 - 前記信号伝達媒体が、記録可能な媒体を含む、請求項10のプログラム製品。
- 前記信号伝達媒体が、伝送タイプの媒体を含む、請求項10のプログラム製品。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/897,817 US7024640B2 (en) | 2001-06-29 | 2001-06-29 | Integrated circuit cell identification |
PCT/IB2002/002437 WO2003003258A2 (en) | 2001-06-29 | 2002-06-20 | I.c. cell and library identification |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004535013A true JP2004535013A (ja) | 2004-11-18 |
Family
ID=25408472
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003509364A Pending JP2004535013A (ja) | 2001-06-29 | 2002-06-20 | I.c.セルとライブラリの識別 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7024640B2 (ja) |
EP (1) | EP1405227A2 (ja) |
JP (1) | JP2004535013A (ja) |
KR (1) | KR100910069B1 (ja) |
WO (1) | WO2003003258A2 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050050485A1 (en) * | 2003-08-25 | 2005-03-03 | Keller S. Brandon | Systems and methods for identifying data sources associated with a circuit design |
JP2006004072A (ja) * | 2004-06-16 | 2006-01-05 | Sony Corp | ライセンス評価装置,ライセンス評価方法およびそのコンピュータプログラム |
US7254788B2 (en) * | 2004-10-29 | 2007-08-07 | Synopsys, Inc. | Nonlinear driver model for multi-driver systems |
US7924759B1 (en) * | 2005-08-08 | 2011-04-12 | H-Itt, Llc | Validation method for transmitting data in a two-way audience response teaching system |
US7286498B1 (en) * | 2005-08-09 | 2007-10-23 | H-Itt, Llc | Validation method and data structures for wireless communications |
US8336002B2 (en) * | 2006-05-15 | 2012-12-18 | Taiwan Semiconductor Manufacturing Company, Ltd. | IC design flow enhancement with CMP simulation |
US20070283306A1 (en) * | 2006-05-30 | 2007-12-06 | Matthias Koefferlein | Layout cells, layout cell arrangement, method of generating a layout cell, method of generating a layout cell arrangement, computer program products |
DE102006037162B4 (de) * | 2006-08-01 | 2008-08-21 | Qimonda Ag | Verfahren und Vorrichtung und deren Verwendung zur Prüfung des Layouts einer elektronischen Schaltung |
US7490309B1 (en) * | 2006-08-31 | 2009-02-10 | Cadence Design Systems, Inc. | Method and system for automatically optimizing physical implementation of an electronic circuit responsive to simulation analysis |
US7788612B2 (en) * | 2007-03-30 | 2010-08-31 | Taiwan Semiconductor Manufacturing Company, Ltd. | System, method, and computer program product for matching cell layout of an integrated circuit design |
US7904844B2 (en) * | 2007-03-30 | 2011-03-08 | Taiwan Semiconductor Manufacturing Company, Ltd. | System, method, and computer program product for matching cell layout of an integrated circuit design |
US8208500B2 (en) * | 2009-12-30 | 2012-06-26 | Nxp B.V. | Low-jitter end-to-end latency control scheme for isochronous communications based on transmitter timestamp information |
US8910303B2 (en) * | 2012-05-01 | 2014-12-09 | Anaglobe Technology, Inc. | System and method for manipulating security of integrated circuit layout |
US9659137B2 (en) | 2014-02-18 | 2017-05-23 | Samsung Electronics Co., Ltd. | Method of verifying layout of mask ROM |
US9785141B2 (en) | 2014-09-03 | 2017-10-10 | Cadence Design Systems, Inc. | Method, system, and computer program product for schematic driven, unified thermal and electromagnetic interference compliance analyses for electronic circuit designs |
US10216963B2 (en) * | 2016-12-12 | 2019-02-26 | Anaglobe Technology, Inc. | Method to protect an IC layout |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0169576B1 (en) * | 1984-07-27 | 1990-12-19 | Hitachi, Ltd. | Method and system of circuit pattern understanding and layout |
US5050091A (en) * | 1985-02-28 | 1991-09-17 | Electric Editor, Inc. | Integrated electric design system with automatic constraint satisfaction |
US5197016A (en) * | 1988-01-13 | 1993-03-23 | International Chip Corporation | Integrated silicon-software compiler |
US5487018A (en) * | 1993-08-13 | 1996-01-23 | Vlsi Technology, Inc. | Electronic design automation apparatus and method utilizing a physical information database |
US5764525A (en) * | 1994-01-28 | 1998-06-09 | Vlsi Technology, Inc. | Method for improving the operation of a circuit through iterative substitutions and performance analyses of datapath cells |
US5689432A (en) * | 1995-01-17 | 1997-11-18 | Motorola, Inc. | Integrated circuit design and manufacturing method and an apparatus for designing an integrated circuit in accordance with the method |
US5787006A (en) * | 1996-04-30 | 1998-07-28 | Micron Technology, Inc. | Apparatus and method for management of integrated circuit layout verification processes |
JP3938220B2 (ja) * | 1996-11-29 | 2007-06-27 | 富士通株式会社 | 大規模集積回路装置の製造方法及び大規模集積回路装置 |
US6031981A (en) * | 1996-12-19 | 2000-02-29 | Cirrus Logic, Inc. | Reconfigurable gate array cells for automatic engineering change order |
US6446239B1 (en) * | 1998-03-10 | 2002-09-03 | Monterey Design Systems, Inc. | Method and apparatus for optimizing electronic design |
US6442565B1 (en) * | 1999-08-13 | 2002-08-27 | Hiddenmind Technology, Inc. | System and method for transmitting data content in a computer network |
WO2001029715A2 (en) * | 1999-10-15 | 2001-04-26 | Cadence Design Systems, Inc. | Database for electronic design automation applications |
US6557153B1 (en) * | 2000-11-15 | 2003-04-29 | Reshape, Inc. | Method and system for implementing a user interface for performing physical design operations on an integrated circuit netlist |
US6901574B2 (en) * | 2001-02-09 | 2005-05-31 | Lacour Patrick J. | Data management method for mask writing |
US6816997B2 (en) * | 2001-03-20 | 2004-11-09 | Cheehoe Teh | System and method for performing design rule check |
-
2001
- 2001-06-29 US US09/897,817 patent/US7024640B2/en not_active Expired - Lifetime
-
2002
- 2002-06-20 JP JP2003509364A patent/JP2004535013A/ja active Pending
- 2002-06-20 WO PCT/IB2002/002437 patent/WO2003003258A2/en active Application Filing
- 2002-06-20 EP EP02738509A patent/EP1405227A2/en not_active Ceased
- 2002-06-20 KR KR1020037003010A patent/KR100910069B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP1405227A2 (en) | 2004-04-07 |
US7024640B2 (en) | 2006-04-04 |
US20030005394A1 (en) | 2003-01-02 |
WO2003003258A2 (en) | 2003-01-09 |
WO2003003258A3 (en) | 2003-12-31 |
KR100910069B1 (ko) | 2009-07-30 |
KR20040014991A (ko) | 2004-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004535013A (ja) | I.c.セルとライブラリの識別 | |
US8881131B2 (en) | Method and apparatus for populating a software catalogue with software knowledge gathering | |
US8151248B1 (en) | Method and system for software defect management | |
US7506336B1 (en) | System and methods for version compatibility checking | |
US7949901B2 (en) | Program and apparatus for generating system test specifications | |
US8521865B2 (en) | Method and apparatus for populating a software catalog with automated use signature generation | |
US20050188356A1 (en) | Computer-implemented method, system and program product for comparing application program interfaces (APIs) between Java byte code releases | |
CN112162960A (zh) | 一种卫生健康政务信息共享方法、装置及系统 | |
US20030005093A1 (en) | Server configuration versioning tool | |
US20100058277A1 (en) | Method and system for organizing data generated by electronic design automation tools | |
US7111275B2 (en) | Electronic circuit design analysis system | |
CN113434582B (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
US7047101B1 (en) | Reuse in semiconductor measurement recipes | |
US20080172640A1 (en) | Method for comparing two designs of electronic circuits | |
US20040003383A1 (en) | Stripping of unnecessary information from source code | |
Blough | Performance evaluation of a reconfiguration-algorithm for memory arrays containing clustered faults | |
US7356787B2 (en) | Alternative methodology for defect simulation and system | |
CN116578282A (zh) | 代码生成方法、装置、电子设备及介质 | |
US20150331772A1 (en) | Methods for updating diagnostic tools on a hardware device and devices thereof | |
CN115203061A (zh) | 接口自动化测试方法、装置、电子设备及存储介质 | |
US20050050503A1 (en) | Systems and methods for establishing data model consistency of computer aided design tools | |
US11663116B2 (en) | Systems and methods for automated test data microservices | |
US20050192919A1 (en) | System and method for knowledge asset acquisition and management | |
CN117215965B (zh) | 基于测试用例识别的测试方法、装置、电子设备和介质 | |
CN111913700B (zh) | 一种云-端交互协议分析方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050526 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20060710 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080408 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20080521 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080930 |