(57)【特許請求の範囲】
【請求項１】
各々が集積回路設計のための回路情報を含む複数の相互接続された機能ブロックよりなる集積回路設計を解析する方法において、
ａ）設計規則に従って上記集積回路設計の第１の機能ブロックを解析するステップであって、前記第１の機能ブロックは１つ以上の他の相互接続された機能ブロックと相互接続されており、上記設計規則は、前記第１の機能ブロックを表すネット・リストを使用して、少なくとも１つの入力ポートと少なくとも１つの出力ポートをトレースすることを含む、ステップと；
ｂ）前記第１の機能ブロックを表す第１のシェルを生成するステップであって、前記第１のシェルが、前記第１の機能ブロックの入力ポートから記憶素子までの、そして記憶素子がない場合は前記第１の機能ブロックの出力ポートまでの前記第１の機能ブロック内の回路素子を記述する回路情報と、第１の機能ブロックの出力ポートから記憶素子までの、そして記憶素子がない場合は第１の機能ブロックの入力ポートまでの前記第１の機能ブロック内の回路素子を記述する回路情報とを含む、ステップと、
ｃ）前記第１のシェル中の前記回路情報を用いて、集積回路設計の前記第１の機能ブロックに接続された第２の機能ブロックを、前記設計規則に従って、解析するステップと
を具備した方法。
【請求項２】
ｄ）前記第２の機能ブロックを表す第２のシェルを生成するステップと；
ｅ）前記第１のシェル及び前記第２のシェルを結合して第１のレベルの第１の結合ブロックとするステップと；
をさらに具備した請求項１記載の方法。
【請求項３】
ｆ）前記１つ以上の他の相互接続された他の機能ブロックについて前記ステップｃ）及びｄ）を繰り返すことにより、１つ以上の他の相互接続された機能ブロックの各々について対応するシェルを生成するステップと；
ｇ）前記１つ以上の他の相互接続された機能ブロックに対するシェルを結合して前記第１のレベルの１つ以上の結合ブロックとするステップと；
をさらに具備した請求項２記載の方法。
【請求項４】
前記第１のレベルの結合ブロックについて上記ステップａ）、ｂ）、ｃ）、ｄ）、ｅ）、ｆ）、及びｇ）を繰り返すことにより、第２のレベルの１つ以上の結合ブロックを生成するステップをさらに具備した請求項３記載の方法。
【請求項５】
前記機能ブロックが１つ以上の入力ポート及び１つ以上の出力ポートを有し、そして、
前記機能ブロックを表すシェルが
１）前記機能ブロックの各々の入力ポートから前記機能ブロックの入力ポートに対応する最初の記憶素子までの回路情報をトレースして保持し、そのトレースにおいて記憶素子が見つからない場合には前記機能ブロックの各々の入力ポートから前記機能ブロックの関連する出力ポートまでの回路情報をトレースして保持する、サブステップと、
２）前記機能ブロックの各々の出力ポートからその出力ポートに最も近い記憶素子までの回路情報をバック・トレースして保持し、そのバック・トレースにおいて記憶素子が見つからない場合には前記機能ブロックの各々の出力ポートから前記機能ブロックの関連する入力ポートまでの回路情報をバック・トレースして保持する、サブステップと
によって生成される、
請求項１記載の方法。
【請求項６】
前記第１の機能ブロックが１つ以上の入力ポートと１つ以上の出力ポートを有し、前記第１の機能ブロックを表すシェルが、
１）前記第１の機能ブロックの入力ポートの各々から１つ以上の各記憶素子までの回路情報をトレースして保持し、そのトレースした回路情報中に記憶素子がない場合は、前記機能ブロックの１つ以上の各出力ポートまでの回路情報をトレースして保持するサブステップと、
２）前記第１の機能ブロックの出力ポートの各々から１つ以上の各記憶素子までの回路情報をバック・トレースして保持し、そのバック・トレースした回路情報中に記憶素子がない場合は、１つ以上の各入力ポートまでの回路情報をバック・トレースして保持するサブステップと、
によって生成され、
その保持された回路情報によって前記第１の機能ブロックを表す前記シェルが定義される請求項１記載の方法。
【請求項７】
１つ以上の他の内的に関連した機能ブロックと相互接続された集積回路設計の、１つ以上の入力ポートと１つ以上の出力ポートを備える機能ブロックを表すシェルを生成する方法において、
１）前記機能ブロックの入力ポートの各々から１つ以上の各記憶素子までの回路情報をトレースして保持し、そのトレースした回路情報中に記憶素子がない場合は、前記機能ブロックの１つ以上の各出力ポートまでの回路情報をトレースして保持するステップと、
２）前記機能ブロックの出力ポートの各々から１つ以上の各記憶素子までの回路情報をバック・トレースして保持し、そのトレースした回路情報中に記憶素子がない場合は、１つ以上の各入力ポートまでの回路情報をバック・トレースして保持するステップと、
を具備し、
前記保持された回路情報によって前記機能ブロックを表すシェルが定義されることを特徴とする方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、広義には、集積回路（ＩＣ）用の回路設計を検査する方法に関し、詳しくは、ＩＣ設計の規則チェックプロセスでＩＣ設計の機能ブロックを表すための設計シェルを生成し、使用する方法に関する。
【０００２】
【従来の技術】
コンピュータチップのＩＣ設計は、通常、各ブロックが設計の一部に対応するいくつかの内的に関連した機能ブロックに分割される。ＩＣ設計の規則チェック段階では、適正な設計慣行が守られているかどうかを確認するために、各機能ブロックが設計規則チェックプロセスを経る。このプロセスでは、各ブロック内の回路が設計規則に関してチェックされる。また、回路は、内的に関連したブロックの回路に関しても、それらのブロックが設計規則に合致しているかどうかを確認するのに必要な一定の程度において、チェックされる。このプロセスがある階層レベルにおける一群の内的に関連したブロックについて終了すると、それらのブロックは１つ以上のブロックにまとめられる。この比較的小さい内的に関連したブロックをチェックしてより大きい内的に関連したブロックを形成するプロセスを、そのチップのＩＣ設計に対応する１つの包括的ブロックが得られるまで繰り返す。
【０００３】
【発明が解決しようとする課題】
このような従来技術の方法は、あるブロックが規則チェックプロセスで処理されるとき、そのブロックを規則チェックするためには、関連したブロックからの全ての回路情報を利用可能にしなければならないという問題がある。その結果、このプロセスには、それらの関連した全てのブロックからの全ての情報を記憶するための大きなコンピュータメモリ量と、全てのブロックからの全てのデータを処理するための非常に高速のコンピュータ（あるいは長いランタイム）が必要である。
【０００４】
従って、本発明の目的は、ＩＣ設計の機能ブロックからの重要情報を保持するためのシェルの生成及び使用方法を提供することである。そこでは、シェルは他の接続されたブロックの規則チェックプロセスにおける機能ブロックを表す。
【０００５】
本発明のもう一つの目的は、生成されたシェルに関連した他のブロックの静的規則チェックプロセスにおいて、そのチェックプロセスが有効であるようにしたシェルの生成及び使用方法を提供することにある。
【０００６】
本発明のもう一つの目的は、機能ブロックを処理するために必要なメモリ量が最小限で済むようにしたＩＣ設計の機能ブロックを表すシェルの生成及び使用方法を提供することにある。
【０００７】
本発明のもう一つの目的は、ＩＣ設計の全てのブロックを規則チェックするのにコンピュータランタイムがより短くなるようにしたＩＣ設計の機能ブロックを表すシェルの生成及び使用方法を提供することにある。
【０００８】
【課題を解決するための手段】
簡単に言うと、本発明の一実施態様は、ＩＣ設計の機能ブロックを表すシェルの生成及び使用方法であって、ブロックによって現在表されているブロックに関連した他のブロックの静的特性を分析する時、その分析が正確に保たれるよう、合成したゲートレベルブロックからの重要情報をシェルに保持するようにしたものである。
【０００９】
階層レベルにおいては、本発明は、ＩＣ設計の機能ブロックの情報を記憶するのに必要なメモリ量が小さくて済み、かつランタイムが短くなるようにしたＩＣ設計の機能ブロックを分析する方法である。
【００１０】
本発明の長所は、ＩＣ設計の機能ブロックからの重要情報を保持するためのシェルの生成及び使用方法において、シェルが他の関連したブロックの規則チェックプロセスにおいて機能ブロックを表すようになっていることにある。
【００１１】
本発明のもう一つの長所は、シェルの生成及び使用方法において、生成されたシェルに関連した他のブロックの静的規則チェックプロセスにおいてもそのチェックプロセスが有効であることである。
【００１２】
本発明のもう一つの長所は、ＩＣ設計の機能ブロックを表すシェルの生成及び使用方法において、規則チェックプロセスで機能ブロックを処理するのに必要なメモリ量が最小限で済むことである。
【００１３】
本発明のもう一つの長所は、ＩＣ設計の基本ブロックを表すシェルの生成及び使用方法において、コンピュータランタイムが最小限で済むことである。
【００１４】
本発明の上記及びその他の目的並びに長所は、当業者ならば、以下の添付図面に示す本発明の実施例についての詳細な説明より自明となろう。
【００１５】
【発明の実施の形態】
ブロックを表すシェルには、内的に関連した他のブロックの有効な規則チェックに対応するのに必要な全ての回路情報が入っていなければならない。
【００１６】
詳しく言うと、ブロックのシェルは、次の情報を正確に与えるものでなければならない。入出力網、ファンイン及びファンアウト情報、関連した２つのブロック間のピン・ツー・ピン接続、入出力セル、及びパス情報。
【００１７】
静的規則チェックにおいては、指定されたパス、ネット、ピン、及びセル間の連結性がトレースされる。そのトレースによって得られた情報を一連の規則と対照して、規則違反があればフラグを立てる。連結性をトレースするためには、設計規則チェッカーは、全ての関連したブロックの入出力パス及びそれらの各ブロックを通るパスの接続に関する情報が必要である。
【００１８】
ある機能ブロックに関するシェルの生成における総体的な考え方は、ブロックの入力パスからブロック中の記憶素子（存在する場合）まで、及び逆にブロックの出力パスからブロック中の記憶素子までの全ての回路情報を保持するということである。ブロック中に記憶素子がない場合は、そのブロックの全ての回路情報がシェルに保持される。なお、入力パス及び出力パスはそれぞれ入力ポート及び出力ポートと呼ばれる。
【００１９】
シェルに保持される回路情報を例示説明するために、図１〜５にいくつかのモデルのシナリオが図示してある。図１において、ブロック３００は接続ライン３０３を介してもう一つのブロック３０２に接続されている。ブロック３００は、「クラウド」３０６に接続された記憶素子３０４（フリップフロップ）を含んでいる。クラウドは記憶素子を持たない一群のセルを表す。クラウド３０６は、ブロック３０２のクラウド３０８の２本の入力パスに変換される出力パスを与え、クラウド３０８は記憶素子３１０に接続されている。図１に示す全ての要素、すなわち、セル３０４及び３１０、クラウド３０６及び３０８は、以下に説明する本発明のシェル生成プロセスによってシェルに保持される。設計規則チェッカーは２つのフリップフロップ間の回路を解析しなければならないので、これらの２つのフリップフロップ間の情報は全て保持される。
【００２０】
図２は、２つの入力パスを有するクラウド３１４及び出力パスを有するクラウド３１６を含む完全なブロックを示す。このブロックの全ての回路情報は、このブロックのパスには記憶素子がないので、シェルに保持される。
【００２１】
図３を参照すると、この図に示すブロック３１８は、４つのフリップフロップ３２０、３２２、３２４、及び３２６と、メモリセル３２８を含んでいる。本発明によれば、これらの４つのフリップフロップはシェルに保持されるが、メモリセル３２８は保持されない。ブロックに対して直接接続された入出力（書込みパルスを入力するためのポートのような）を有するメモリセルの場合は、それらのメモリセルを保存しなければならない。
【００２２】
図４は、フリップフロップ３３２、３３４、４つのＮＡＮＤゲート３３６、３３８、３４０、３４２、及びクラウド３４４を含むブロック３３０を示す。この場合は、内部フリップフロップが、ゲート３３６及び３３８の場合のように、１つ以上のゲートを介してブロック境界を横切って接続されており、これらのゲートは保存しなければならない。
【００２３】
図５においては、ブロック３３７はセット／リセット線３３９、クロック線３４１、４つのインバータ３４３、３４５、３４６、３４８、２つのフリップフロップ３５０、３５２、及びクラウド３５４を含んでいる。一般に、クロック線及びセット／リセット線はそっくりそのまま保存される。この場合、クロック分配論理回路及びセット／リセット分配機構上の少なくとも１つのフリップフロップ（セル３５２）を保存すべきである。このフリップフロップは、ゲートされたクロック、クロックとセット／リセットの併合、データとクロックの併合、及びセット／リセットとパス上のデータピンとの併合をチェックするために必要である。本発明は、シェルの外部で生じる問題にのみ関わるものであるから、フリップフロップは１つだけあればよい。
【００２４】
図６の（ａ）、（ｂ）及び（ｃ）は、ブロック間の相互接続ないしは内的関連のいくつかの形態を示す。図６の（ａ）では、ブロック２１０はブロック２１２に接続され、ブロック２１２では記憶素子２１４がクラウド２１６に接続されている。クラウド２１６は、ブロック２１０の出力パスを有し、このパスはブロック２１２のクラウド２１８に接続されている。クラウド２１８は記憶素子２２０に接続されている。ここで、セル２１４、クラウド２１６、クラウド２１８及びセル２２０は全て設計シェル生成プロセスで保存されるということに留意すべきである。図６の（ｂ）では、ブロック２２２は２つのクラウド２２６及び２２８を含む。クラウド２２６はブロック２２２の出力パスを与え、この出力パスはブロック２２４のクラウド２３０の入力になっている。ブロック２２４のクラウド２３は、ブロック２２２のクラウド２２８の入力を与える。ここで、設計シェル生成プロセスにおいて、上記３つのクラウド２２６、２２８及び２３０はそれぞれのシェルに保持されるということに留意すべきである。図６の（ｃ）に示すブロック２３２はクラウド２３８に接続された記憶素子２３６を有する。クラウド２３８はブロック２３４のクラウド２４０の入力を与え、クラウド２４０はセル２４２の入力を与える。セル２４２はブロック２３４のクラウド２４４の入力を与え、クラウド２４４はブロック２３２のクラウド２３８の入力パスを与える。この場合も、設計シェル生成プロセスにおいてブロック２３２のセル２３６及びクラウド２３８が保持され、ブロック２３４のクラウド２４０、２４４及びセル２４２が保持されるということに留意すべきである。
【００２５】
一般的に言って、元のブロックの特性を保持するために保存する必要のあるブロックを表すネットリストの要素は次の要素を含む。入出力ポートとの直接接続によるパス（パス中に記憶素子がない）上のゲート、フリップフロップ（記憶素子）として扱われるラッチ、クロック網上の少なくとも１つのフリップフロップ、セット／リセット網、また、駆動セルを取り除くことによって生じるセルの組合せの一つに接続された入力がある場合、その入力は論理回路に接続しなければならない。
【００２６】
ある機能ブロックについてのシェルを生成する場合、図７を参照して説明すると、解析はそのブロックの入力ポートから開始される。まず、ステップ２０でその機能ブロックを表す「ネットリスト」が読み込まれる。そのネットリストから、未トレースポートが探索され、処理される（ステップ２２）。全てのに入力ポートがトレースされたならば、シェル生成プロセスは、２６で示すように、機能ブロックの全ての出力ポートをチェックするステップに移行する。まだ全ての入力ポートがされてはいない場合（未トレースの入力ポートが見つかった場合）は、このネットに接続された未検査セルが探索される（ステップ２８）。ここで、「このネット」とは、検査中か、または検査されたばかりのセル（または入力ポート、出力ポート等）に関連して現在処理中のネットを指す。このネットの全てのセルが調べられ（ステップ３０）、最後に調べられたセルの入力ピンの中の１本が入力ポート（３２）に接続されていれば、その入力ポートの処理は完了し、ステップ２２で次の未トレースが探索される。このネットの全てのセルの検査が終わって（３０）、最後に調べられたばかりの入力ピンがどれも入力ポート（３２）に接続されていない場合は、調べられたばかりのそのセルと入力ポートの間にまだセルがある。従って、最後に調べられたセルの入力ピンに接続されたネットをトレースする必要がある（ステップ３４）。このネット上のセルの全てが調べられてはおらず（ステップ３０）、かつセルが記憶素子である場合は（ステップ３６）、そのセルはシェルにとって必要であり、保持とマークされる（ステップ３８）。そしてシェル生成プロセスはステップ２８に戻り、このネットに接続された次の未検査セルについて検査が行われる。ステップ３６の判断ボックスで、このセルが記憶素子でない場合は、シェルの一部として保持され、このセルの出力ピンに接続されたネットがトレースされる（ステップ４０）。出力ピンが出力ポートに接続されている場合は（ステップ４２）、そのセルは保持とマークされる（ステップ４４）。出力ピンが出力ポートに接続されていなければ（ステップ４２）、シェル生成プロセスはこのネット２８に接続された未トレースセルを探索し続ける。このプロセスは、セルの入力ピン及び出力ピンに接続されたネットを再帰的に前方にトレースして記憶素子または出力ポートを探索し、シェルとって必要な回路情報を収集する。
【００２７】
図８には、機能ブロックの出力ポートから逆方向にトレースするプロセスが図示してある。このプロセスは、出力ポートをチェックするプロセス（図７のボックス２６）の後に続けて行われる。まず、未トレース出力ポートが選択される（ステップ５０）。全ての出力ポートがトレースされたならば（ステップ５２）、保持済みセルのリストが書き出され（ステップ５６）、このリストがそのブロックを表すシェルを定義する。全ての出力ポートがトレースされてはいない場合は（ステップ５２）、このネットは未トレース出力ポートからバックトレースされ（ステップ５４）、このネットに接続された未検査セルが探索される（ステップ５８）。このネット上の全てのセルが調べられ（ステップ６０）、このネットが出力ポートに接続されている場合は（ステップ７６）、この出力ポートの処理は完了し、次の未トレース出力ポートが処理される（ステップ５０）。全てのセルが調べられて（ステップ６０）、ネットが出力ポートに接続されていない場合は（ステップ７６）、シェル生成プロセスは１セルだけ前方にトレースし、ネットに接続された全てのセルを検査する（ステップ５８）。それらの全てのセルが検査されてはおらず（ステップ６０）、かつネットが入力ポートに接続されている場合は（ステップ６２）、シェル生成プロセスは検査済みセルの入力ピンに至る出力ピンをバックトレースする（ステップ５４）。ネットが入力ポートに接続されておらず（ステップ６２）、かつネットがセルの入力ピンに接続されていれば（ステップ６４）、そのセルはスキップされ（ステップ６６）、このネットに接続された別のセルがステップ５８を繰り返すことによって調べられる。ネットがセルの出力ピンに接続されていることがわかり（ステップ６４）、セルが記憶素子であることが確認された場合は（ステップ６８）、そのセルはステップ７０に示すように保持とマークされ、このネット上の他のセルがチェックされる（ステップ５８）。検査中のセルが記憶素子ではない場合（ステップ６８）、そのセルは保持とマークされ、そのセルの入力ピンがトレースされ（ステップ７２）、その入力ピンのネットに接続されたセルが調べられる（ステップ５８）。ブロックの全ての出力ポートがトレースされたならば、シェル生成プロセスは終了する。
【００２８】
上記のシェル生成プロセスの結果、保持された全てのセルのネットリストが得られ、このネットリストは一般にそのブロックの最初のネットリストのはるかに小さい部分集合になる。
【００２９】
図９は、シェル生成プロセスにより特定の機能ブロックについて保持されるセルに関するセル生成プロセスを図解したものである。保持とマークされないセルは“Ｘ”印で示されている。まず、９０で示す入力ポートから始まってセル９８が検査される。セル９８は記憶素子ではないから、保持とマークされ、セル１０４が検査される。セル１０４も同じく記憶素子ではないから、保持とマークされ、セル１０８が調べられる。セル１０８は記憶素子であり、保持とマークされる。記憶素子の後にあるクラウド１１６は検査されず、マークされない。セル１０８にマークした後、プロセスはセル１０４の前のネットへバックトレースし、かつセル９８の入力ピンに接続されたネットへバックトレースする。セル９８の入力ピンは入力ポートに接続されているので、このネットの検査は終了する。そして、やはり入力ポート９０に接続されたセル１００の検査に戻り、セル１００は保持とマークされる。セル１０６は保持とマークされ、セル１０６への一方の入力線に接続されたネットは、マークされない一群のセルに接続されているいるので、保持とマークされない。セル１１０は記憶素子であり、保持とマークされる。クラウド１１８によって表されるセルは、記憶素子の後にあり、そのために検査されず、マークされない。記憶素子１１０にマークした後、プロセスは、セル１０６の前のネットへバックトレースした後、セル１００の前のネットへバックトレースする。これによって入力ポート９０の検査は終了する。ここで、入力ポート９２に接続されたセルは入力ポート９０のネットの一部と同じであるから、同じ結果が得られ、このポート９２に関しては、検査プロセスをスキップすることが可能である。入力ポート９４はクロック線である。クロック線及びリセット線は全てそっくりそのまま保持される（上に述べた場合を除く）と言うことに留意すべきである。従って、入力ポート９４及びこれに接続されたネットは保持とマークされる。入力ポート９６は、クラウド１１２により表される一群のセルに接続されたセル１０２に接続され、出力ポート１５０から出力される。このネット全体、セル１０２及びクラウド１１２は保持される。
【００３０】
全ての入力ポートの試験が終了したならば、シェル生成プロセスは出力ポートを解析する。出力ポート１４４を見て、セル１３６がバックトレースされ、試験され、保持とマークされる。次に、セル１３２がバックトレースされ、試験され、保持とマークされる。セル１３０へバックトレースすると、セル１３０は記憶素子であるから、保持とマークされる。セル１２８は、セル１３２の後、クラウド１１６によって表される一群のセルの前に接続されており、保持されない。セル１３０をマークした後、シェル生成プロセスは、セル１３２へ前方トレースし、かつセル１３６及びセル１２８へ前方トレースして出力ポート１４４へ戻る。
【００３１】
出力ポート１４６の検査においては、セル１４２は、出力ポート１４６のネットに接続されており、検査されて、保持とマークされる。セル１３８は、検査され、バックトレースされて、保持とマークされる。セル１４０は、検査されて保持とマークされ、記憶素子であるセル１３４は保持とマークされる。クラウド１２６によって表されるセルは、記憶素子１３４の前にあるので、検査されず、保持されない。次に、シェル生成プロセスはセル１３８及び出力ポート１４６へ前方トレースして戻る。
【００３２】
出力ポート１４８をバックトレースする場合は、まずセル１４２が検査され、保持とマークされる。セル１３８は、既に検査され、マークされており、記憶素子であるセル１３４（既に検査済み）が保持とマークされて、シェル生成プロセスはセル１３８へ前方トレースし、セル１４２へ戻る。次に、セル１４２の他方の入力ピンが検査され、セル１４０が検査されて、保持とマークされる。この場合も、セル１３４は既に検査済みであり、記憶素子であるとわかるので、保持とマークされる。次に、シェル生成プロセスは、セル１４０、セル１４２、及び出力ポート１４８へ前方トレースする。出力ポート１５０の検査においては、このネットのセルは既に調べられ、マークされているということがわかる。以上の説明においては、本発明のプロセスを図示のフローチャートに基づいて説明したが、当業者ならば、このプロセスの多くの形態の最適化を容易に想到することができよう。たとえば、あるセルの全てのピンを調べたならば、そのセルを再度検査する必要がないようにすることが可能である。
【００３３】
階層的設計規則チェック方法
図１０を参照して説明すると、あるブロックについて設計規則解析が終わったならば、シェル１６０が生成され、階層構造中の同じレベルにある次のブロック１６２について同じ設計規則解析及びシェル生成プロセスが行われる。ブロック１６０は、上記のプロセスによって決定されるところに従い他のブロックの解析に必要な関連情報のみが保持されるシェルとして図示されている。解析されるブロック１６２は相互接続ライン１６４を介してブロック１６０に接続されている。ブロック１６２について設計解析プロセス及びシェル生成プロセスが終了すると、階層構造の同じレベルにある他のブロックが解析される。このプロセスが、図１１に示すように、同じレベルの各ブロックについて繰り返される。
【００３４】
あるレベルの全てのブロックについて設計規則チェックが行われ、シェルが生成されたならば、プロセスは階層構造の１レベル上に移り、そのレベルでは前のレベルからのブロックが結合されて内的に関連した新しいブロックが形成され、上記のプロセスが階層構造のそのレベルの各ブロックについて繰り返される。たとえば、１７６、１７８、１８０、１８２の各ブロックは設計規則チェックプロセスを経る。これらの各ブロックについて設計規則チェックプロセスが終了すると、シェル１８４、１８６、１８８、１９０がそれぞれ生成される。このレベルの全てのブロックについて設計規則チェックが行われ、シェルが生成されたならば、シェル生成プロセスは次のレベル１７２へと続く。このレベルの各ブロック（１９２及び１９４）は前のレベルからの１つ以上のブロックからなり、各ブロックは設計規則チェックプロセス及びシェル生成プロセスを経て、シェル１９６、１９８が生成される。最後に、最高レベル１７４では、上記の機能ブロックを表す前のレベルからの設計シェルが結合されて、単一のブロックが形成され、そのブロックについて設計規則チェックプロセス２００が実行される。
【００３５】
以上、本発明を図示実施例に基づき詳細に説明したが、この説明による開示は限定的な意味に解釈すべきものではない。本願の開示内容から、当業者にとっては様々な変形態様並びに修正態様が自明であろう。従って、本発明の真の精神及び範囲内に入る変形態様及び修正態様は全て特許請求の範囲に包括されるものである。
【図面の簡単な説明】
【図１】  機能ブロックの回路及び対応するセルについて保持される回路情報のモデル場面を示すブロック図である。
【図２】  上記同様、機能ブロックの回路及び対応するセルについて保持される回路情報のもう一つのモデル場面を示すブロック図である。
【図３】  上記同様、機能ブロックの回路及び対応するセルについて保持される回路情報のもう一つのモデル場面を示すブロック図である。
【図４】  上記同様、機能ブロックの回路及び対応するセルについて保持される回路情報のもう一つのモデル場面を示すブロック図である。
【図５】  上記同様、機能ブロックの回路及び対応するセルについて保持される回路情報のもう一つのモデル場面を示すブロック図である。
【図６】  ブロック間の相互接続ないしは内的関連の３つの例（ａ）、（ｂ）及び（ｃ）を示すブロック図である。
【図７】  シェル生成プロセスでブロックの入力ポートを解析するステップを示すフローチャートである。
【図８】  シェル生成プロセスでブロックの出力ポートを解析するステップを示すフローチャートである。
【図９】  ブロック中の回路及び対応するシェルに対して保持される回路情報を示す説明図である。
【図１０】  前に解析された別のブロックのシェルに接続された解析中のブロックを示す説明図である。
【図１１】  階層的設計規則チェックプロセスを示すブロック図である。
【符号の説明】
３００、３０２、３１８、３３０、３３７  ブロック、
３０４、３１０、３２０、３２２、３２４、３２６  フリップフロップ、
３０６、３１０、３１４、３１６  クラウド。
【図１】
0004405599.tif 000002
【図２】
0004405599.tif 000003
【図３】
0004405599.tif 000004
【図４】
0004405599.tif 000005
【図５】
0004405599.tif 000006
【図６】
0004405599.tif 000007
【図７】
0004405599.tif 000008
【図８】
0004405599.tif 000009
【図９】
0004405599.tif 000010
【図１０】
0004405599.tif 000011
【図１１】
0004405599.tif 000012