JP4405599B2 - 集積回路設計用の設計シェルの生成及び使用方法 - Google Patents
集積回路設計用の設計シェルの生成及び使用方法 Download PDFInfo
- Publication number
- JP4405599B2 JP4405599B2 JP13163097A JP13163097A JP4405599B2 JP 4405599 B2 JP4405599 B2 JP 4405599B2 JP 13163097 A JP13163097 A JP 13163097A JP 13163097 A JP13163097 A JP 13163097A JP 4405599 B2 JP4405599 B2 JP 4405599B2
- Authority
- JP
- Japan
- Prior art keywords
- functional block
- circuit information
- block
- shell
- storage element
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- 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
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)
Description
【発明の属する技術分野】
本発明は、広義には、集積回路(IC)用の回路設計を検査する方法に関し、詳しくは、IC設計の規則チェックプロセスでIC設計の機能ブロックを表すための設計シェルを生成し、使用する方法に関する。
【0002】
【従来の技術】
コンピュータチップのIC設計は、通常、各ブロックが設計の一部に対応するいくつかの内的に関連した機能ブロックに分割される。IC設計の規則チェック段階では、適正な設計慣行が守られているかどうかを確認するために、各機能ブロックが設計規則チェックプロセスを経る。このプロセスでは、各ブロック内の回路が設計規則に関してチェックされる。また、回路は、内的に関連したブロックの回路に関しても、それらのブロックが設計規則に合致しているかどうかを確認するのに必要な一定の程度において、チェックされる。このプロセスがある階層レベルにおける一群の内的に関連したブロックについて終了すると、それらのブロックは1つ以上のブロックにまとめられる。この比較的小さい内的に関連したブロックをチェックしてより大きい内的に関連したブロックを形成するプロセスを、そのチップのIC設計に対応する1つの包括的ブロックが得られるまで繰り返す。
【0003】
【発明が解決しようとする課題】
このような従来技術の方法は、あるブロックが規則チェックプロセスで処理されるとき、そのブロックを規則チェックするためには、関連したブロックからの全ての回路情報を利用可能にしなければならないという問題がある。その結果、このプロセスには、それらの関連した全てのブロックからの全ての情報を記憶するための大きなコンピュータメモリ量と、全てのブロックからの全てのデータを処理するための非常に高速のコンピュータ(あるいは長いランタイム)が必要である。
【0004】
従って、本発明の目的は、IC設計の機能ブロックからの重要情報を保持するためのシェルの生成及び使用方法を提供することである。そこでは、シェルは他の接続されたブロックの規則チェックプロセスにおける機能ブロックを表す。
【0005】
本発明のもう一つの目的は、生成されたシェルに関連した他のブロックの静的規則チェックプロセスにおいて、そのチェックプロセスが有効であるようにしたシェルの生成及び使用方法を提供することにある。
【0006】
本発明のもう一つの目的は、機能ブロックを処理するために必要なメモリ量が最小限で済むようにしたIC設計の機能ブロックを表すシェルの生成及び使用方法を提供することにある。
【0007】
本発明のもう一つの目的は、IC設計の全てのブロックを規則チェックするのにコンピュータランタイムがより短くなるようにしたIC設計の機能ブロックを表すシェルの生成及び使用方法を提供することにある。
【0008】
【課題を解決するための手段】
簡単に言うと、本発明の一実施態様は、IC設計の機能ブロックを表すシェルの生成及び使用方法であって、ブロックによって現在表されているブロックに関連した他のブロックの静的特性を分析する時、その分析が正確に保たれるよう、合成したゲートレベルブロックからの重要情報をシェルに保持するようにしたものである。
【0009】
階層レベルにおいては、本発明は、IC設計の機能ブロックの情報を記憶するのに必要なメモリ量が小さくて済み、かつランタイムが短くなるようにしたIC設計の機能ブロックを分析する方法である。
【0010】
本発明の長所は、IC設計の機能ブロックからの重要情報を保持するためのシェルの生成及び使用方法において、シェルが他の関連したブロックの規則チェックプロセスにおいて機能ブロックを表すようになっていることにある。
【0011】
本発明のもう一つの長所は、シェルの生成及び使用方法において、生成されたシェルに関連した他のブロックの静的規則チェックプロセスにおいてもそのチェックプロセスが有効であることである。
【0012】
本発明のもう一つの長所は、IC設計の機能ブロックを表すシェルの生成及び使用方法において、規則チェックプロセスで機能ブロックを処理するのに必要なメモリ量が最小限で済むことである。
【0013】
本発明のもう一つの長所は、IC設計の基本ブロックを表すシェルの生成及び使用方法において、コンピュータランタイムが最小限で済むことである。
【0014】
本発明の上記及びその他の目的並びに長所は、当業者ならば、以下の添付図面に示す本発明の実施例についての詳細な説明より自明となろう。
【0015】
【発明の実施の形態】
ブロックを表すシェルには、内的に関連した他のブロックの有効な規則チェックに対応するのに必要な全ての回路情報が入っていなければならない。
【0016】
詳しく言うと、ブロックのシェルは、次の情報を正確に与えるものでなければならない。入出力網、ファンイン及びファンアウト情報、関連した2つのブロック間のピン・ツー・ピン接続、入出力セル、及びパス情報。
【0017】
静的規則チェックにおいては、指定されたパス、ネット、ピン、及びセル間の連結性がトレースされる。そのトレースによって得られた情報を一連の規則と対照して、規則違反があればフラグを立てる。連結性をトレースするためには、設計規則チェッカーは、全ての関連したブロックの入出力パス及びそれらの各ブロックを通るパスの接続に関する情報が必要である。
【0018】
ある機能ブロックに関するシェルの生成における総体的な考え方は、ブロックの入力パスからブロック中の記憶素子(存在する場合)まで、及び逆にブロックの出力パスからブロック中の記憶素子までの全ての回路情報を保持するということである。ブロック中に記憶素子がない場合は、そのブロックの全ての回路情報がシェルに保持される。なお、入力パス及び出力パスはそれぞれ入力ポート及び出力ポートと呼ばれる。
【0019】
シェルに保持される回路情報を例示説明するために、図1〜5にいくつかのモデルのシナリオが図示してある。図1において、ブロック300は接続ライン303を介してもう一つのブロック302に接続されている。ブロック300は、「クラウド」306に接続された記憶素子304(フリップフロップ)を含んでいる。クラウドは記憶素子を持たない一群のセルを表す。クラウド306は、ブロック302のクラウド308の2本の入力パスに変換される出力パスを与え、クラウド308は記憶素子310に接続されている。図1に示す全ての要素、すなわち、セル304及び310、クラウド306及び308は、以下に説明する本発明のシェル生成プロセスによってシェルに保持される。設計規則チェッカーは2つのフリップフロップ間の回路を解析しなければならないので、これらの2つのフリップフロップ間の情報は全て保持される。
【0020】
図2は、2つの入力パスを有するクラウド314及び出力パスを有するクラウド316を含む完全なブロックを示す。このブロックの全ての回路情報は、このブロックのパスには記憶素子がないので、シェルに保持される。
【0021】
図3を参照すると、この図に示すブロック318は、4つのフリップフロップ320、322、324、及び326と、メモリセル328を含んでいる。本発明によれば、これらの4つのフリップフロップはシェルに保持されるが、メモリセル328は保持されない。ブロックに対して直接接続された入出力(書込みパルスを入力するためのポートのような)を有するメモリセルの場合は、それらのメモリセルを保存しなければならない。
【0022】
図4は、フリップフロップ332、334、4つのNANDゲート336、338、340、342、及びクラウド344を含むブロック330を示す。この場合は、内部フリップフロップが、ゲート336及び338の場合のように、1つ以上のゲートを介してブロック境界を横切って接続されており、これらのゲートは保存しなければならない。
【0023】
図5においては、ブロック337はセット/リセット線339、クロック線341、4つのインバータ343、345、346、348、2つのフリップフロップ350、352、及びクラウド354を含んでいる。一般に、クロック線及びセット/リセット線はそっくりそのまま保存される。この場合、クロック分配論理回路及びセット/リセット分配機構上の少なくとも1つのフリップフロップ(セル352)を保存すべきである。このフリップフロップは、ゲートされたクロック、クロックとセット/リセットの併合、データとクロックの併合、及びセット/リセットとパス上のデータピンとの併合をチェックするために必要である。本発明は、シェルの外部で生じる問題にのみ関わるものであるから、フリップフロップは1つだけあればよい。
【0024】
図6の(a)、(b)及び(c)は、ブロック間の相互接続ないしは内的関連のいくつかの形態を示す。図6の(a)では、ブロック210はブロック212に接続され、ブロック212では記憶素子214がクラウド216に接続されている。クラウド216は、ブロック210の出力パスを有し、このパスはブロック212のクラウド218に接続されている。クラウド218は記憶素子220に接続されている。ここで、セル214、クラウド216、クラウド218及びセル220は全て設計シェル生成プロセスで保存されるということに留意すべきである。図6の(b)では、ブロック222は2つのクラウド226及び228を含む。クラウド226はブロック222の出力パスを与え、この出力パスはブロック224のクラウド230の入力になっている。ブロック224のクラウド23は、ブロック222のクラウド228の入力を与える。ここで、設計シェル生成プロセスにおいて、上記3つのクラウド226、228及び230はそれぞれのシェルに保持されるということに留意すべきである。図6の(c)に示すブロック232はクラウド238に接続された記憶素子236を有する。クラウド238はブロック234のクラウド240の入力を与え、クラウド240はセル242の入力を与える。セル242はブロック234のクラウド244の入力を与え、クラウド244はブロック232のクラウド238の入力パスを与える。この場合も、設計シェル生成プロセスにおいてブロック232のセル236及びクラウド238が保持され、ブロック234のクラウド240、244及びセル242が保持されるということに留意すべきである。
【0025】
一般的に言って、元のブロックの特性を保持するために保存する必要のあるブロックを表すネットリストの要素は次の要素を含む。入出力ポートとの直接接続によるパス(パス中に記憶素子がない)上のゲート、フリップフロップ(記憶素子)として扱われるラッチ、クロック網上の少なくとも1つのフリップフロップ、セット/リセット網、また、駆動セルを取り除くことによって生じるセルの組合せの一つに接続された入力がある場合、その入力は論理回路に接続しなければならない。
【0026】
ある機能ブロックについてのシェルを生成する場合、図7を参照して説明すると、解析はそのブロックの入力ポートから開始される。まず、ステップ20でその機能ブロックを表す「ネットリスト」が読み込まれる。そのネットリストから、未トレースポートが探索され、処理される(ステップ22)。全てのに入力ポートがトレースされたならば、シェル生成プロセスは、26で示すように、機能ブロックの全ての出力ポートをチェックするステップに移行する。まだ全ての入力ポートがされてはいない場合(未トレースの入力ポートが見つかった場合)は、このネットに接続された未検査セルが探索される(ステップ28)。ここで、「このネット」とは、検査中か、または検査されたばかりのセル(または入力ポート、出力ポート等)に関連して現在処理中のネットを指す。このネットの全てのセルが調べられ(ステップ30)、最後に調べられたセルの入力ピンの中の1本が入力ポート(32)に接続されていれば、その入力ポートの処理は完了し、ステップ22で次の未トレースが探索される。このネットの全てのセルの検査が終わって(30)、最後に調べられたばかりの入力ピンがどれも入力ポート(32)に接続されていない場合は、調べられたばかりのそのセルと入力ポートの間にまだセルがある。従って、最後に調べられたセルの入力ピンに接続されたネットをトレースする必要がある(ステップ34)。このネット上のセルの全てが調べられてはおらず(ステップ30)、かつセルが記憶素子である場合は(ステップ36)、そのセルはシェルにとって必要であり、保持とマークされる(ステップ38)。そしてシェル生成プロセスはステップ28に戻り、このネットに接続された次の未検査セルについて検査が行われる。ステップ36の判断ボックスで、このセルが記憶素子でない場合は、シェルの一部として保持され、このセルの出力ピンに接続されたネットがトレースされる(ステップ40)。出力ピンが出力ポートに接続されている場合は(ステップ42)、そのセルは保持とマークされる(ステップ44)。出力ピンが出力ポートに接続されていなければ(ステップ42)、シェル生成プロセスはこのネット28に接続された未トレースセルを探索し続ける。このプロセスは、セルの入力ピン及び出力ピンに接続されたネットを再帰的に前方にトレースして記憶素子または出力ポートを探索し、シェルとって必要な回路情報を収集する。
【0027】
図8には、機能ブロックの出力ポートから逆方向にトレースするプロセスが図示してある。このプロセスは、出力ポートをチェックするプロセス(図7のボックス26)の後に続けて行われる。まず、未トレース出力ポートが選択される(ステップ50)。全ての出力ポートがトレースされたならば(ステップ52)、保持済みセルのリストが書き出され(ステップ56)、このリストがそのブロックを表すシェルを定義する。全ての出力ポートがトレースされてはいない場合は(ステップ52)、このネットは未トレース出力ポートからバックトレースされ(ステップ54)、このネットに接続された未検査セルが探索される(ステップ58)。このネット上の全てのセルが調べられ(ステップ60)、このネットが出力ポートに接続されている場合は(ステップ76)、この出力ポートの処理は完了し、次の未トレース出力ポートが処理される(ステップ50)。全てのセルが調べられて(ステップ60)、ネットが出力ポートに接続されていない場合は(ステップ76)、シェル生成プロセスは1セルだけ前方にトレースし、ネットに接続された全てのセルを検査する(ステップ58)。それらの全てのセルが検査されてはおらず(ステップ60)、かつネットが入力ポートに接続されている場合は(ステップ62)、シェル生成プロセスは検査済みセルの入力ピンに至る出力ピンをバックトレースする(ステップ54)。ネットが入力ポートに接続されておらず(ステップ62)、かつネットがセルの入力ピンに接続されていれば(ステップ64)、そのセルはスキップされ(ステップ66)、このネットに接続された別のセルがステップ58を繰り返すことによって調べられる。ネットがセルの出力ピンに接続されていることがわかり(ステップ64)、セルが記憶素子であることが確認された場合は(ステップ68)、そのセルはステップ70に示すように保持とマークされ、このネット上の他のセルがチェックされる(ステップ58)。検査中のセルが記憶素子ではない場合(ステップ68)、そのセルは保持とマークされ、そのセルの入力ピンがトレースされ(ステップ72)、その入力ピンのネットに接続されたセルが調べられる(ステップ58)。ブロックの全ての出力ポートがトレースされたならば、シェル生成プロセスは終了する。
【0028】
上記のシェル生成プロセスの結果、保持された全てのセルのネットリストが得られ、このネットリストは一般にそのブロックの最初のネットリストのはるかに小さい部分集合になる。
【0029】
図9は、シェル生成プロセスにより特定の機能ブロックについて保持されるセルに関するセル生成プロセスを図解したものである。保持とマークされないセルは“X”印で示されている。まず、90で示す入力ポートから始まってセル98が検査される。セル98は記憶素子ではないから、保持とマークされ、セル104が検査される。セル104も同じく記憶素子ではないから、保持とマークされ、セル108が調べられる。セル108は記憶素子であり、保持とマークされる。記憶素子の後にあるクラウド116は検査されず、マークされない。セル108にマークした後、プロセスはセル104の前のネットへバックトレースし、かつセル98の入力ピンに接続されたネットへバックトレースする。セル98の入力ピンは入力ポートに接続されているので、このネットの検査は終了する。そして、やはり入力ポート90に接続されたセル100の検査に戻り、セル100は保持とマークされる。セル106は保持とマークされ、セル106への一方の入力線に接続されたネットは、マークされない一群のセルに接続されているいるので、保持とマークされない。セル110は記憶素子であり、保持とマークされる。クラウド118によって表されるセルは、記憶素子の後にあり、そのために検査されず、マークされない。記憶素子110にマークした後、プロセスは、セル106の前のネットへバックトレースした後、セル100の前のネットへバックトレースする。これによって入力ポート90の検査は終了する。ここで、入力ポート92に接続されたセルは入力ポート90のネットの一部と同じであるから、同じ結果が得られ、このポート92に関しては、検査プロセスをスキップすることが可能である。入力ポート94はクロック線である。クロック線及びリセット線は全てそっくりそのまま保持される(上に述べた場合を除く)と言うことに留意すべきである。従って、入力ポート94及びこれに接続されたネットは保持とマークされる。入力ポート96は、クラウド112により表される一群のセルに接続されたセル102に接続され、出力ポート150から出力される。このネット全体、セル102及びクラウド112は保持される。
【0030】
全ての入力ポートの試験が終了したならば、シェル生成プロセスは出力ポートを解析する。出力ポート144を見て、セル136がバックトレースされ、試験され、保持とマークされる。次に、セル132がバックトレースされ、試験され、保持とマークされる。セル130へバックトレースすると、セル130は記憶素子であるから、保持とマークされる。セル128は、セル132の後、クラウド116によって表される一群のセルの前に接続されており、保持されない。セル130をマークした後、シェル生成プロセスは、セル132へ前方トレースし、かつセル136及びセル128へ前方トレースして出力ポート144へ戻る。
【0031】
出力ポート146の検査においては、セル142は、出力ポート146のネットに接続されており、検査されて、保持とマークされる。セル138は、検査され、バックトレースされて、保持とマークされる。セル140は、検査されて保持とマークされ、記憶素子であるセル134は保持とマークされる。クラウド126によって表されるセルは、記憶素子134の前にあるので、検査されず、保持されない。次に、シェル生成プロセスはセル138及び出力ポート146へ前方トレースして戻る。
【0032】
出力ポート148をバックトレースする場合は、まずセル142が検査され、保持とマークされる。セル138は、既に検査され、マークされており、記憶素子であるセル134(既に検査済み)が保持とマークされて、シェル生成プロセスはセル138へ前方トレースし、セル142へ戻る。次に、セル142の他方の入力ピンが検査され、セル140が検査されて、保持とマークされる。この場合も、セル134は既に検査済みであり、記憶素子であるとわかるので、保持とマークされる。次に、シェル生成プロセスは、セル140、セル142、及び出力ポート148へ前方トレースする。出力ポート150の検査においては、このネットのセルは既に調べられ、マークされているということがわかる。以上の説明においては、本発明のプロセスを図示のフローチャートに基づいて説明したが、当業者ならば、このプロセスの多くの形態の最適化を容易に想到することができよう。たとえば、あるセルの全てのピンを調べたならば、そのセルを再度検査する必要がないようにすることが可能である。
【0033】
階層的設計規則チェック方法
図10を参照して説明すると、あるブロックについて設計規則解析が終わったならば、シェル160が生成され、階層構造中の同じレベルにある次のブロック162について同じ設計規則解析及びシェル生成プロセスが行われる。ブロック160は、上記のプロセスによって決定されるところに従い他のブロックの解析に必要な関連情報のみが保持されるシェルとして図示されている。解析されるブロック162は相互接続ライン164を介してブロック160に接続されている。ブロック162について設計解析プロセス及びシェル生成プロセスが終了すると、階層構造の同じレベルにある他のブロックが解析される。このプロセスが、図11に示すように、同じレベルの各ブロックについて繰り返される。
【0034】
あるレベルの全てのブロックについて設計規則チェックが行われ、シェルが生成されたならば、プロセスは階層構造の1レベル上に移り、そのレベルでは前のレベルからのブロックが結合されて内的に関連した新しいブロックが形成され、上記のプロセスが階層構造のそのレベルの各ブロックについて繰り返される。たとえば、176、178、180、182の各ブロックは設計規則チェックプロセスを経る。これらの各ブロックについて設計規則チェックプロセスが終了すると、シェル184、186、188、190がそれぞれ生成される。このレベルの全てのブロックについて設計規則チェックが行われ、シェルが生成されたならば、シェル生成プロセスは次のレベル172へと続く。このレベルの各ブロック(192及び194)は前のレベルからの1つ以上のブロックからなり、各ブロックは設計規則チェックプロセス及びシェル生成プロセスを経て、シェル196、198が生成される。最後に、最高レベル174では、上記の機能ブロックを表す前のレベルからの設計シェルが結合されて、単一のブロックが形成され、そのブロックについて設計規則チェックプロセス200が実行される。
【0035】
以上、本発明を図示実施例に基づき詳細に説明したが、この説明による開示は限定的な意味に解釈すべきものではない。本願の開示内容から、当業者にとっては様々な変形態様並びに修正態様が自明であろう。従って、本発明の真の精神及び範囲内に入る変形態様及び修正態様は全て特許請求の範囲に包括されるものである。
【図面の簡単な説明】
【図1】 機能ブロックの回路及び対応するセルについて保持される回路情報のモデル場面を示すブロック図である。
【図2】 上記同様、機能ブロックの回路及び対応するセルについて保持される回路情報のもう一つのモデル場面を示すブロック図である。
【図3】 上記同様、機能ブロックの回路及び対応するセルについて保持される回路情報のもう一つのモデル場面を示すブロック図である。
【図4】 上記同様、機能ブロックの回路及び対応するセルについて保持される回路情報のもう一つのモデル場面を示すブロック図である。
【図5】 上記同様、機能ブロックの回路及び対応するセルについて保持される回路情報のもう一つのモデル場面を示すブロック図である。
【図6】 ブロック間の相互接続ないしは内的関連の3つの例(a)、(b)及び(c)を示すブロック図である。
【図7】 シェル生成プロセスでブロックの入力ポートを解析するステップを示すフローチャートである。
【図8】 シェル生成プロセスでブロックの出力ポートを解析するステップを示すフローチャートである。
【図9】 ブロック中の回路及び対応するシェルに対して保持される回路情報を示す説明図である。
【図10】 前に解析された別のブロックのシェルに接続された解析中のブロックを示す説明図である。
【図11】 階層的設計規則チェックプロセスを示すブロック図である。
【符号の説明】
300、302、318、330、337 ブロック、
304、310、320、322、324、326 フリップフロップ、
306、310、314、316 クラウド。
Claims (7)
- 各々が集積回路設計のための回路情報を含む複数の相互接続された機能ブロックよりなる集積回路設計を解析する方法において、
a)設計規則に従って上記集積回路設計の第1の機能ブロックを解析するステップであって、前記第1の機能ブロックは1つ以上の他の相互接続された機能ブロックと相互接続されており、上記設計規則は、前記第1の機能ブロックを表すネット・リストを使用して、少なくとも1つの入力ポートと少なくとも1つの出力ポートをトレースすることを含む、ステップと;
b)前記第1の機能ブロックを表す第1のシェルを生成するステップであって、前記第1のシェルが、前記第1の機能ブロックの入力ポートから記憶素子までの、そして記憶素子がない場合は前記第1の機能ブロックの出力ポートまでの前記第1の機能ブロック内の回路素子を記述する回路情報と、第1の機能ブロックの出力ポートから記憶素子までの、そして記憶素子がない場合は第1の機能ブロックの入力ポートまでの前記第1の機能ブロック内の回路素子を記述する回路情報とを含む、ステップと、
c)前記第1のシェル中の前記回路情報を用いて、集積回路設計の前記第1の機能ブロックに接続された第2の機能ブロックを、前記設計規則に従って、解析するステップと
を具備した方法。 - d)前記第2の機能ブロックを表す第2のシェルを生成するステップと;
e)前記第1のシェル及び前記第2のシェルを結合して第1のレベルの第1の結合ブロックとするステップと;
をさらに具備した請求項1記載の方法。 - f)前記1つ以上の他の相互接続された他の機能ブロックについて前記ステップc)及びd)を繰り返すことにより、1つ以上の他の相互接続された機能ブロックの各々について対応するシェルを生成するステップと;
g)前記1つ以上の他の相互接続された機能ブロックに対するシェルを結合して前記第1のレベルの1つ以上の結合ブロックとするステップと;
をさらに具備した請求項2記載の方法。 - 前記第1のレベルの結合ブロックについて上記ステップa)、b)、c)、d)、e)、f)、及びg)を繰り返すことにより、第2のレベルの1つ以上の結合ブロックを生成するステップをさらに具備した請求項3記載の方法。
- 前記機能ブロックが1つ以上の入力ポート及び1つ以上の出力ポートを有し、そして、
前記機能ブロックを表すシェルが
1)前記機能ブロックの各々の入力ポートから前記機能ブロックの入力ポートに対応する最初の記憶素子までの回路情報をトレースして保持し、そのトレースにおいて記憶素子が見つからない場合には前記機能ブロックの各々の入力ポートから前記機能ブロックの関連する出力ポートまでの回路情報をトレースして保持する、サブステップと、
2)前記機能ブロックの各々の出力ポートからその出力ポートに最も近い記憶素子までの回路情報をバック・トレースして保持し、そのバック・トレースにおいて記憶素子が見つからない場合には前記機能ブロックの各々の出力ポートから前記機能ブロックの関連する入力ポートまでの回路情報をバック・トレースして保持する、サブステップと
によって生成される、
請求項1記載の方法。 - 前記第1の機能ブロックが1つ以上の入力ポートと1つ以上の出力ポートを有し、前記第1の機能ブロックを表すシェルが、
1)前記第1の機能ブロックの入力ポートの各々から1つ以上の各記憶素子までの回路情報をトレースして保持し、そのトレースした回路情報中に記憶素子がない場合は、前記機能ブロックの1つ以上の各出力ポートまでの回路情報をトレースして保持するサブステップと、
2)前記第1の機能ブロックの出力ポートの各々から1つ以上の各記憶素子までの回路情報をバック・トレースして保持し、そのバック・トレースした回路情報中に記憶素子がない場合は、1つ以上の各入力ポートまでの回路情報をバック・トレースして保持するサブステップと、
によって生成され、
その保持された回路情報によって前記第1の機能ブロックを表す前記シェルが定義される請求項1記載の方法。 - 1つ以上の他の内的に関連した機能ブロックと相互接続された集積回路設計の、1つ以上の入力ポートと1つ以上の出力ポートを備える機能ブロックを表すシェルを生成する方法において、
1)前記機能ブロックの入力ポートの各々から1つ以上の各記憶素子までの回路情報をトレースして保持し、そのトレースした回路情報中に記憶素子がない場合は、前記機能ブロックの1つ以上の各出力ポートまでの回路情報をトレースして保持するステップと、
2)前記機能ブロックの出力ポートの各々から1つ以上の各記憶素子までの回路情報をバック・トレースして保持し、そのトレースした回路情報中に記憶素子がない場合は、1つ以上の各入力ポートまでの回路情報をバック・トレースして保持するステップと、
を具備し、
前記保持された回路情報によって前記機能ブロックを表すシェルが定義されることを特徴とする方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/627,823 | 1996-05-10 | ||
US08/627,823 US5844818A (en) | 1996-05-10 | 1996-05-10 | Method for creating and using design shells for integrated circuit designs |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1097565A JPH1097565A (ja) | 1998-04-14 |
JP4405599B2 true JP4405599B2 (ja) | 2010-01-27 |
Family
ID=24516288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP13163097A Expired - Lifetime JP4405599B2 (ja) | 1996-05-10 | 1997-05-07 | 集積回路設計用の設計シェルの生成及び使用方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5844818A (ja) |
EP (1) | EP0806736A1 (ja) |
JP (1) | JP4405599B2 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6334207B1 (en) * | 1998-03-30 | 2001-12-25 | Lsi Logic Corporation | Method for designing application specific integrated circuits |
US7031889B1 (en) * | 1999-03-22 | 2006-04-18 | Hewlett-Packard Development Company, L.P. | Method and apparatus for evaluating the design quality of network nodes |
US6560571B1 (en) * | 1999-06-30 | 2003-05-06 | Hewlett-Packard Development Company, L.P. | Method and apparatus for prioritizing the order in which checks are performed on a node in an integrated circuit |
US6751744B1 (en) * | 1999-12-30 | 2004-06-15 | International Business Machines Corporation | Method of integrated circuit design checking using progressive individual network analysis |
US6564357B2 (en) * | 2001-03-30 | 2003-05-13 | Intel Corporation | Performance verification/analysis tool for full-chip designs |
WO2002101601A2 (en) * | 2001-06-08 | 2002-12-19 | Magma Design Automation, Inc. | Representing the design of a sub-module in a hierarchical integrated circuit design and analysis system |
US7584437B2 (en) * | 2004-05-06 | 2009-09-01 | Lsi Corporation | Assuring correct data entry to generate shells for a semiconductor platform |
US7404156B2 (en) * | 2004-06-03 | 2008-07-22 | Lsi Corporation | Language and templates for use in the design of semiconductor products |
US8302042B2 (en) * | 2006-07-24 | 2012-10-30 | Oasys Design Systems | Generating a convergent circuit design from a functional description using entities having access to the functional description and to physical design information |
JP5109960B2 (ja) * | 2008-12-18 | 2012-12-26 | 富士通セミコンダクター株式会社 | 検証支援プログラム、検証支援装置、および検証支援方法 |
JP5741077B2 (ja) * | 2011-03-08 | 2015-07-01 | 富士通株式会社 | タイミング検証支援装置、方法及びプログラム |
JP5954041B2 (ja) * | 2012-08-15 | 2016-07-20 | 株式会社ソシオネクスト | レイアウトモデル作成装置 |
US9703920B2 (en) | 2015-06-30 | 2017-07-11 | International Business Machines Corporation | Intra-run design decision process for circuit synthesis |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0756656B2 (ja) * | 1985-09-26 | 1995-06-14 | 株式会社日立製作所 | ゲ−ト論理自動更新方法 |
US5095454A (en) * | 1989-05-25 | 1992-03-10 | Gateway Design Automation Corporation | Method and apparatus for verifying timing during simulation of digital circuits |
US5598344A (en) * | 1990-04-06 | 1997-01-28 | Lsi Logic Corporation | Method and system for creating, validating, and scaling structural description of electronic device |
US5572437A (en) * | 1990-04-06 | 1996-11-05 | Lsi Logic Corporation | Method and system for creating and verifying structural logic model of electronic design from behavioral description, including generation of logic and timing models |
US5249133A (en) * | 1991-04-10 | 1993-09-28 | Sun Microsystems, Inc. | Method for the hierarchical comparison of schematics and layouts of electronic components |
US5481473A (en) * | 1993-02-19 | 1996-01-02 | International Business Machines Corporation | System and method for building interconnections in a hierarchical circuit design |
US5559718A (en) * | 1994-04-28 | 1996-09-24 | Cadence Design Systems, Inc. | System and method for model-based verification of local design rules |
US5475605A (en) * | 1994-05-26 | 1995-12-12 | Cadence Design Systems, Inc. | Timing analysis for logic optimization using target library delay values |
US5644498A (en) * | 1995-01-25 | 1997-07-01 | Lsi Logic Corporation | Timing shell generation through netlist reduction |
US6345378B1 (en) * | 1995-03-23 | 2002-02-05 | Lsi Logic Corporation | Synthesis shell generation and use in ASIC design |
-
1996
- 1996-05-10 US US08/627,823 patent/US5844818A/en not_active Expired - Lifetime
-
1997
- 1997-04-26 EP EP97106953A patent/EP0806736A1/en not_active Withdrawn
- 1997-05-07 JP JP13163097A patent/JP4405599B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH1097565A (ja) | 1998-04-14 |
EP0806736A1 (en) | 1997-11-12 |
US5844818A (en) | 1998-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5831869A (en) | Method of compacting data representations of hierarchical logic designs used for static timing analysis | |
US5684808A (en) | System and method for satisfying mutually exclusive gating requirements in automatic test pattern generation systems | |
US5828579A (en) | Scan segment processing within hierarchical scan architecture for design for test applications | |
Cheng et al. | Gentest: an automatic test-generation system for sequential circuits | |
US5862149A (en) | Method of partitioning logic designs for automatic test pattern generation based on logical registers | |
US7007249B2 (en) | Method for automatically generating checkers for finding functional defects in a description of circuit | |
US5949692A (en) | Hierarchical scan architecture for design for test applications | |
US6195776B1 (en) | Method and system for transforming scan-based sequential circuits with multiple skewed capture events into combinational circuits for more efficient automatic test pattern generation | |
Tafertshofer et al. | A SAT-based implication engine for efficient ATPG, equivalence checking, and optimization of netlists | |
Ghosh et al. | Automatic test pattern generation for functional register-transfer level circuits using assignment decision diagrams | |
JP5263904B2 (ja) | スキャン回路テスト中のic構造シミュレーション速度向上 | |
JP4405599B2 (ja) | 集積回路設計用の設計シェルの生成及び使用方法 | |
US20070094629A1 (en) | Methods and Apparatus for Making Placement Sensitive Logic Modifications | |
US7210109B2 (en) | Equivalence checking of scan path flush operations | |
US6457161B1 (en) | Method and program product for modeling circuits with latch based design | |
Kishinevsky et al. | Partial-scan delay fault testing of asynchronous circuits | |
Lingappan et al. | Test generation for non-separable RTL controller-datapath circuits using a satisfiability based approach | |
Chang et al. | Post-placement rewiring and rebuffering by exhaustive search for functional symmetries | |
Raymond | Tutorial Series 10 LSI/VLSI Design Automation | |
US7606692B2 (en) | Gate-level netlist reduction for simulating target modules of a design | |
Doshi | Independence fault collapsing and concurrent test generation | |
Iwata et al. | A New Framework for RTL Test Points Insertion Facilitating a “Shift-Left DFT” Strategy | |
US7350162B2 (en) | Structure analytic program | |
Joe | Incremental Test Pattern Generation for structurally similar circuits | |
Chang et al. | Functional Design Errors in Digital Circuits: Diagnosis Correction and Repair |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040507 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040528 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070109 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070330 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070404 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070612 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070724 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071022 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20071203 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20080104 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090929 |
|
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: 20091105 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121113 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121113 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131113 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |